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

Javaは人気のある高水準プログラミング言語です。言語自体の使用または理解に問題がある場合は、このタグを使用してください。このタグが単独で使用されることはめったになく、[spring]、[spring-boot]、[jakarta-ee]、[android]、[javafx]、[gradle]、および[maven]と組み合わせて使用​​されることがほとんどです。

7
javaxとjavaパッケージ
javaxパッケージの背後にある根拠は何ですか?javaとjavaxには何が入りますか? 多くのenterprise-yパッケージがjavaxに含まれていることは知っていますが、Swing、新しい日時API(JSR-310)、およびその他のJ2SEパッケージもそうです。
385 java 


8
この日付形式は何ですか?2011-08-12T20:17:46.384Z
次の日付があります: 2011-08-12T20:17:46.384Z。これはどのフォーマットですか?私はJava 1.4でそれを解析しようとしていますDateFormat.getDateInstance().parse(dateStr)、そして私は得ています java.text.ParseException:解析できない日付:「2011-08-12T20:17:46.384Z」 解析にはSimpleDateFormatを使用する必要があると思いますが、最初にフォーマット文字列を知る必要があります。これまでのところ私が持っyyyy-MM-ddているのTは、この文字列の意味がわからないためです-タイムゾーンに関連した何か?この日付文字列はlcmis:downloadedOn、ファイルCMISダウンロード履歴メディアタイプに表示されるタグから取得されます。

6
Mavenモジュール+単一の特定のモジュールの構築
私は、親プロジェクトのマルチモジュールMavenプロジェクト持ちPと三つのサブモジュールをA、BとC。BとCはどちらも戦争プロジェクトであり、どちらもに依存していAます。 入力mvn compileしてP、すべてのサブモジュールを適切にコンパイルできます。問題は、特定のモジュールに対して操作を実行するときに発生します。 プロジェクトのwarをパッケージ化できるようにしたいのですBが、Bのディレクトリからパッケージコマンドを実行すると、の依存関係が見つからないというメッセージが表示されAます。 私はこの質問から理解します:Mavenと依存モジュールはおそらくMavenがこのタイプの依存関係解決のために実際に設計されていないが、それはどのようにパッケージ化するBかという疑問を引き起こします。 mvn package本当に必要なときに、プロジェクト階層全体を実行する必要がありBますか? パッケージ化するたびに、ローカルリポジトリにAのスナップショットをインストールする必要がありますBか? この2番目のシナリオは、Aまだ開発が活発に行われている場合はそれほど面白くありません。 ここでのベストプラクティスはありますか?

29
JavaでequalsメソッドとhashCodeメソッドをオーバーライドする必要があるのはなぜですか?
最近、このDeveloper Worksドキュメントを読みました 。 このドキュメントはすべてhashCode()、equals()効果的かつ正確に定義することを目的としていますが、これら2つのメソッドをオーバーライドする必要がある理由を理解できません。 これらの方法を効率的に実装するための決定をするにはどうすればよいですか?
383 java  equals  hashcode 



22
Java 8でインデックスを使用してストリームを反復する簡潔な方法はありますか?
ストリーム内のインデックスにアクセスしながら、ストリームを反復する簡潔な方法はありますか? String[] names = {"Sam","Pamela", "Dave", "Pascal", "Erik"}; List<String> nameList; Stream<Integer> indices = intRange(1, names.length).boxed(); nameList = zip(indices, stream(names), SimpleEntry::new) .filter(e -> e.getValue().length() <= e.getKey()) .map(Entry::getValue) .collect(toList()); そこに与えられたLINQの例と比べてかなりがっかりしたようです string[] names = { "Sam", "Pamela", "Dave", "Pascal", "Erik" }; var nameList = names.Where((c, index) => c.Length <= index + 1).ToList(); より簡潔な方法はありますか? …
382 java  java-8  java-stream 


25
Javaでディレクトリを再帰的に削除する
Javaでディレクトリ全体を再帰的に削除する方法はありますか? 通常の場合、空のディレクトリを削除することができます。しかし、内容を含むディレクトリ全体を削除することになると、もはやそれほど簡単ではありません。 Javaでコンテンツを含むディレクトリ全体をどのように削除しますか?

12
Javaのメソッドパラメータで「final」というキーワードを使用する必要があるのはなぜですか?
finalキーワードがメソッドパラメータで使用される場合、キーワードが本当に便利な場所を理解できません。 匿名クラス、読みやすさ、意図宣言の使用を除外すると、私にはほとんど価値がないように見えます。 一部のデータを一定に保つことは、見かけほど強力ではありません。 パラメータがプリミティブの場合、パラメータは値としてメソッドに渡され、変更してもスコープ外では効果がないため、効果はありません。 パラメータを参照渡しする場合、参照自体はローカル変数であり、参照がメソッド内から変更された場合、メソッドスコープの外部からの影響はありません。 以下の簡単なテストの例を考えてみましょう。このテストはパスしますが、メソッドは与えられた参照の値を変更しましたが、効果はありません。 public void testNullify() { Collection<Integer> c = new ArrayList<Integer>(); nullify(c); assertNotNull(c); final Collection<Integer> c1 = c; assertTrue(c1.equals(c)); change(c); assertTrue(c1.equals(c)); } private void change(Collection<Integer> c) { c = new ArrayList<Integer>(); } public void nullify(Collection<?> t) { t = null; }

7
メソッドはタイプの別のメソッドと同じ消去を持っています
同じクラスに次の2つのメソッドを含めることが合法ではないのはなぜですか? class Test{ void add(Set<Integer> ii){} void add(Set<String> ss){} } 私は得る compilation error メソッドadd(Set)には、タイプTestの別のメソッドと同じ消去add(Set)があります。 私はそれを回避することができますが、なぜjavacがこれを好まないのかと思っていました。 多くの場合、これらの2つの方法のロジックは非常によく似ており、1つの方法で置き換えることができます。 public void add(Set<?> set){} メソッドですが、常にそうであるとは限りません。 constructorsこれらの引数を取る2つが必要な場合は、1つのの名前を変更することはできないため、これは非常に面倒ですconstructors。
381 java  generics 

22
Javaで同期(これ)を避けますか?
Javaの同期についての質問がSOに出てくるときはいつでも、synchronized(this)避けなければならないことを非常に熱心に指摘する人もいます。代わりに、プライベートリファレンスのロックが優先されると主張しています。 指定された理由のいくつかは次のとおりです。 いくつかの邪悪なコードがあなたのロックを盗む可能性があります(これは非常に人気があり、「偶然に」変種もあります) 同じクラス内のすべての同期されたメソッドは、まったく同じロックを使用するため、スループットが低下します (不必要に)情報を公開しすぎている 私を含む他の人々synchronized(this)は、それが(Javaライブラリーでも)よく使用されるイディオムであり、安全でよく理解されていると主張します。バグがあり、マルチスレッドプログラムで何が行われているかの手掛かりがないため、これを回避することはできません。つまり、該当する場合はそれを使用します。 私は、ロックオンを回避するthisことが望ましい場合に、ロックオンを回避することが望ましい実際の例(foobarのものではない)をいくつか見ることに興味synchronized(this)があります。 したがって、常に避けsynchronized(this)て、プライベートリファレンスのロックに置き換える必要がありますか? いくつかの詳細情報(回答が提供されると更新されます): インスタンスの同期について話している の暗黙的な(synchronizedメソッド)と明示的な形式のsynchronized(this)両方が考慮されます この件に関してBlochまたは他の当局を引用する場合は、好ましくない部分を省略しないでください(例:効果的なJava、スレッドセーフティの項目:通常はインスタンス自体のロックですが、例外があります)。 synchronized(this)提供以外の細かいロックが必要な場合synchronized(this)は適用されないため、問題はありません。

25
ExecutorServiceを使用して、すべてのスレッドが完了するのを待つ方法は?
次のように、一度にいくつかのタスクを4回実行する必要があります。 ExecutorService taskExecutor = Executors.newFixedThreadPool(4); while(...) { taskExecutor.execute(new MyTask()); } //...wait for completion somehow それらがすべて完了したら、どうすれば通知を受け取ることができますか?今のところ、いくつかのグローバルタスクカウンターを設定し、すべてのタスクの終わりにそれを減らすことよりも良いことを考えることはできません。その後、無限ループでこのカウンターを監視して0にします。または、Futureのリストを取得し、それらすべてに対して無限ループモニターisDoneを実行します。無限ループを含まないより良い解決策は何ですか? ありがとう。

11
@Resourceと@Autowired
@Resource(jsr250)または@Autowired(Spring固有)のどのアノテーションをDIで使用する必要がありますか? 私は過去に両方をうまく使用したことが@Resource(name="blah")あり、@Autowired @Qualifier("blah") @Resourcejsrの人々によって承認されているので、私の本能はタグを守ることです。 誰もがこれについて強い考えを持っていますか?

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