タグ付けされた質問 「java」

Javaは、元はSun Microsystemsによって開発された、プラットフォームに依存しない高レベルのオブジェクト指向プログラミング言語です。Javaは現在、2010年にSunを購入したOracleが所有しています。

4
Java抽象クラスの命名
例: Ajaxアクションの抽象クラスを作成します。異なるAjaxアクションはすべてこのクラスを拡張します。 問題: クラスにAjaxActionまたはAbstractAjaxActionという名前を付けますか? サブクラスを作成するとき、名前を付けますか? アクション AjaxAction 彼らに彼らが何であるかという名前をつけてください 私は「公式の」大会が何であるかを見つけることができませんでした。サブクラスで"Abstract"プレフィックスまたは必要な命名規則が必要ないようです。(とにかくそれは合うかもしれません。) 公式大会はありますか?リンクしてくれませんか?そして、この問題についてのあなたの意見は何ですか?
9 java  naming 

6
モバイルアプリケーション開発のためにJavaを学ぶべきですか、それともC#だけで学べますか?
.NETフレームワークを掘り下げるのを楽しみにしていますが、ほとんどのモバイルアプリケーションはJavaで開発されているようです。私はおそらくAndroidやiphone OSではなく、NokiaやMotorollaのようなより安価な電話をターゲットにするでしょう。これらのものをC#で実行できますか?
9 java  c#  mobile 

10
C#からJavaに切り替えて、気にする必要がある「落とし穴」はどれですか。
ロックされています。この質問とトピックへの回答はロックされています。質問はトピックから外れていますが、歴史的に重要です。現在、新しい回答や相互作用を受け入れていません。 新しいプロジェクトではJavaに切り替えなければならない場合があります。私はJavaについてほとんど知識がありません。私は主にC#を研究して使用しており、これら2つの言語/プラットフォームの違いが多くの問題を引き起こす可能性があることを恐れています。 私が気にする必要がある落とし穴/落とし穴はどれですか?
9 java  c#  .net  pitfalls 

4
静的メソッドを介してオブジェクトを渡すことが有利なのはなぜですか?
オブジェクトでメソッドを呼び出すよりも、静的メソッドを使用してオブジェクトへの参照をパラメーターとして渡すほうが有利なのはなぜですか? 私の意味を明確にするために、次のクラスを検討してください。 public class SomeClass { private double someValue; public SomeClass() { // Some constructor in which someValue is set } public void incrementValue() { someValue++; } } 静的メソッドを使用したこの代替実装と比較して: public class SomeClass { private double someValue; public SomeClass() { // Some constructor in which someValue is set } public static …

5
Javaで同等の慣用的なパターンマッチング
いくつかのイベントを解析してSTDIN「実行」するシミュレータを構築しています。私のバックグラウンドは、最近のほとんどが関数型プログラミングであるため、次のようなことをするのは自然なことのようです。 data Event = Thing1 String Int | Thing2 Int | Thing3 String String Int Parse :: String -> [Event] Simulate :: [Event] -> [Result] シミュレートする場所 case event of Thing1 a b => compute for thing one | Thing2 a => compute for thing two などJavaでこの種のことをする慣用的な方法は何ですか?グーグルで私はネストされたクラスとビジターパターンの方向を指摘されましたが、私の試みではそれはかなり重いようです。型消去は、私と一生懸命戦っているようです。正しく行われるように見えるものの概要を教えていただけますか?

3
JUnitテストですべての変数を宣言することの利点/欠点
作業中の新しいコードの単体テストをいくつか作成し、コードレビューのために送りました。私の同僚の1人が、多くのテストで使用される変数をテストのスコープ外に配置した理由についてコメントしました。 私が投稿したコードは本質的に import org.junit.Test; public class FooUnitTests { @Test public void testConstructorWithValidName() { new Foo(VALID_NAME); } @Test(expected = IllegalArgumentException.class) public void testConstructorWithNullName() { new Foo(null); } @Test(expected = IllegalArgumentException.class) public void testConstructorWithZeroLengthName() { new Foo(""); } @Test(expected = IllegalArgumentException.class) public void testConstructorWithLeadingAndTrailingWhitespaceInName() { final String name = " " + …

2
.jarをシールする理由は何ですか?それをどのように確認しますか?
密封されたjarファイルを作成しましたが、密封されていないjarファイルを使用した場合と比較して違いはありません。 瓶が密封されていることを確認するためにどのようなテストを実行できますか? シールされていないものを使用することを好む理由は何ですか? 封印すると、プロジェクトのユーザーに問題が発生しますか?
9 java  security 

5
明示的なコンストラクターを定義した場合、デフォルトのコンストラクターが生成されないのはなぜですか?
class Employee{ String name; int id; //No explicit constructors } これで、次のステートメントを呼び出すことができます。 Employee e1 = new Employee(); 上記のコードを使用すると、コンパイラーはコンストラクターの定義を提供しますEmployee()。 次のように単一の明示的なコンストラクタを定義した場合: class Employee{ String name; int id; Employee(String aName){ this.name=aName; } } さて、次のステートメントを呼び出せないのはなぜですか。 Employee e2 = new Employee(); コンパイラはの定義を提供する方法を知っていますがEmployee()。 さて、明示的なコンストラクタを定義したのにEmployee(String aName)、なぜデフォルトのコンストラクタを使用できないのですか? また、コンパイラーが明示的なコンストラクターを定義した後でもデフォルトのコンストラクターの使用を許可した場合は、デフォルトのコンストラクターのコードを再利用するのに役立ちます。

2
サブパッケージで定義されたインターフェースの実装はアンチパターンですか?
私が以下を持っているとしましょう: package me.my.pkg; public interface Something { /* ... couple of methods go here ... */ } そして: package me.my; import me.my.pkg.Something; public class SomeClass implements Something { /* ... implementation of Something goes here ... */ /* ... some more method implementations go here too ... */ } つまり、インターフェースを実装するクラスは、実装するインターフェースよりもパッケージ階層のルートの近くにありますが、どちらも同じパッケージ階層に属しています。 …


2
別のアプリケーションのGUI /機能を「コピー」できますか
私は、同様の目的を果たす別のアプリケーションに大きく基づいているアプリを作成しています。実際に売るつもりはありませんが、売っても合法かどうか迷っています。 私は他のアプリケーションからグラフィックスを借用していませんが、非常によく似た配色、実質的に同じ機能(いくつかを追加しましたが、それほど重要ではありません)、および非常によく似たインターフェイスレイアウトがあります。明らかに、私はコードを借用していません(それはObjective-Cで書かれていて、Javaで書かれた鉱山です)。 繰り返しますが、実際には販売するつもりはありません。仮説で疑問に思っていました。それが著作権で保護されているコードだけなのか、それとも実際にデザインされたのかはわかりません。

3
JavaのStringクラスがより効率的なindexOf()を実装しないのはなぜですか?
スタックオーバーフローに関する以下の質問の後に /programming/5564610/fast-alernative-for-stringindexofstring-str なぜjava(少なくとも6つ)がより効率的な実装を使用しないのかと疑問に思いましたか? コードは次のとおりです。 java.lang.String#indexOf(String str) 1762 static int indexOf(char[] source, int sourceOffset, int sourceCount, 1763 char[] target, int targetOffset, int targetCount, 1764 int fromIndex) { 1765 if (fromIndex >= sourceCount) { 1766 return (targetCount == 0 ? sourceCount : -1); 1767 } 1768 if (fromIndex < 0) { 1769 …

5
優れた機能仕様を作成する方法
すぐに小さなサイドプロジェクトを開始しますが、今回はプログラミングの前によく行う小さなUMLドメインモデルとケース図だけではなく、完全な機能仕様を作成することを考えました。私がそれに追加する必要があるものを私に勧めることができる機能仕様を書いた経験がある人はいますか?どのように準備を始めるのが最善でしょうか?ここで、より関連性があると思うトピックを書き留めます。 目的 機能の概要 コンテキスト図 重要なプロジェクト成功要因 スコープ(イン&アウト) 仮定 アクター(データソース、システムアクター) ユースケース図 プロセスフロー図 アクティビティ図 セキュリティ要件 性能要件 特別な要件 ビジネスルール ドメインモデル(データモデル) フローシナリオ(成功、代替…) タイムスケジュール(タスク管理) ゴール システム要求 予想経費 それらのトピックについてどう思いますか?他に何か追加しましょうか?または何かを削除しますか? ひとつひとつの回答に乗りましたが、有益な情報をありがとうございます。 私はこのサイドプロジェクトを会社のために行っています。彼らは私から一定のコミュニケーションの流れを見ており、私が彼らに提供するリソースを管理する必要があるので、私がすべてのことを行う理由を説明する必要があります。これは私の最初の機能仕様になります。私が言ったように、私はそれが大きくて役に立たないだけでなく、役に立つことを望んでいます。これはやらなければならないことだと思いますが、私や私のチームにとってもっと役立つ方法でやりたいです。マネージャーがいないのは悪いことなので、管理タスクにも注意が必要です... アジャイルプログラミングに関しては、これはアジャイルアプローチと100%互換性があると思います。私は自分自身をアジャイルプログラマです。正直に言って、誰かがすでに私のために考えているときは、自信がつきました。私はまだジュニアですが、以前は他のプロジェクトでタペストリーのWeb開発者として働いていました。 私は滝のアプローチをしていることに同意しません。開発が始まるときにプロジェクトをより簡単にするいくつかの境界を定義しようとしているだけだと思います。

4
禁止されているサードパーティの方法について警告する
注:この質問は、JavaまたはC#で記述されたコードに関するものです。 私はいくつかの大規模なプロジェクトを管理しており、サードパーティ/ SDKのメソッドで問題(必ずしもバグではない)を発見し、代わりに使用する必要がある独自の拡張機能を作成しました。これらの方法を使用することは、このプロジェクトでは推奨されないことを開発者に覚えておいてください。 独自のライブラリを使用していた場合は、そのメソッドを簡単に削除したり、廃止/非推奨にしたりできますが、自分で作成していないライブラリに対してはそうすることはできません。 例として、2つのオーバーロードを提供するライブラリを使用します。 acme.calculate(int quantity_, double priceInUsDollars_); acme.calculate(int quantity_, string currencyCode_, double priceInCurrency_); 私たちは開発者が常に最初のものを使用して、私たち自身の標準的な為替レートシステムから米ドルで価格を得ることを望んでいます。そして、IDE(Eclipse / Visual Studio)が最初の開発者を使用するときに開発者に警告するのは良いことです。コンパイラの警告でも十分です。 今のところ、現状では、コードレビュー担当者にそのようなエラーを発見してもらう必要があります。ご覧のとおり、これは信頼できるアプローチではありません。 準備ができている1つの方法は、独自のチェックスタイルチェック(http://checkstyle.sourceforge.net/writingchecks.html)を記述することです。でも、何か使えるシンプルなものはないのかと思っていました。私が説明したようなIDE /コンパイラの警告を達成する方法を知っている人はいますか? IDE /コンパイラ以外のソリューションは大歓迎です。
9 java  c#  coding-style  ide 

4
JavaでのScalaのスケーラビリティ
私はScalaがJavaよりも並行性をうまく処理するという記事を読みました。 http://www.theserverside.com/feature/Solving-the-Scalability-Paradox-with-Scala-Clojure-and-Groovy ...スケーラビリティの制限は、特にJavaプログラミング言語自体に限定されますが、Javaプラットフォーム全体の制限ではありません... Javaのスケーラビリティの問題は新しい発見ではありません。実際、これらの問題に対処するために多くの作業が行われ、最も成功したプロジェクトの2つはScalaとClojureという名前のプログラミング言語です... ... Scalaは、Java言語の問題のあるスレッドとロックパラダイムを回避する方法を見つけています... これはどのようにして可能ですか?Scalaは、JavaからScalaにすべてのスレッドとロックの問題をもたらすJavaのコアライブラリを使用していませんか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.