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

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

27
Javaの@Overrideアノテーションを使用するのはいつですか。また、その理由は何ですか。
ロックされています。質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答や相互作用を受け入れていません。 OverаэтотвопросестьответынаStack Overflowнарусском:Чтоозначает "@Override"передобъявлениемметода? Javaの@Override注釈を使用するためのベストプラクティスとは何ですか。なぜですか。 オーバーライドされたすべてのメソッドに@Override注釈を付けるのはやり過ぎのようです。を使用する@Override必要がある特定のプログラミング状況と、を使用してはならないその他の状況はあります@Overrideか?
498 java  annotations 

21
AndroidのMVCパターン
AndroidのJavaでモデル、ビュー、コントローラーのパターンを実装することは可能ですか? それとも、アクティビティによってすでに実装されていますか?または、AndroidにMVCパターンを実装するより良い方法はありますか?

18
Javaのパフォーマンスに対する例外の影響は何ですか?
質問:Javaでの例外処理は実際には遅いですか? 従来の知識と多くのGoogleの結果は、Javaの通常のプログラムフローに例外的なロジックを使用するべきではないと述べています。通常、2つの理由が挙げられます。 それは本当に遅いです-通常のコードよりも桁違いに遅いです(与えられた理由は異なります)、 そして 例外的なコードで処理されるのはエラーのみであることを人々が期待するので、それは厄介です。 この質問は#1についてです。 例として、このページではJava例外処理を「非常に遅い」と説明し、スローを例外メッセージ文字列の作成に関連付けます-「この文字列は、スローされる例外オブジェクトの作成に使用されます。これは高速ではありません。」記事Javaでの効果的な例外処理は、「これの理由は、例外処理のオブジェクト作成の側面が原因であり、それによって例外のスローが本質的に遅くなります」と述べています。もう1つの理由は、スタックトレースの生成が遅くなることです。 私のテスト(32ビットLinuxでJava 1.6.0_07、Java HotSpot 10.0を使用)は、例外処理が通常のコードより遅くないことを示しています。コードを実行するループでメソッドを実行してみました。メソッドの最後で、ブール値を使用してreturnまたはthrowのどちらを示すかを示します。このように、実際の処理は同じです。メソッドをさまざまな順序で実行し、テスト時間を平均化してみました。JVMがウォームアップしているのではないかと思いました。私のすべてのテストで、スローは少なくともリターンと同じくらい高速でしたが、高速ではなかった(最大3.1%高速でした)。私のテストが間違っている可能性は完全に受け入れられていますが、コードのサンプル、テストの比較、またはJavaでの例外処理が実際にあることを示す過去1〜2年の結果には、何も見たことがありません。スロー。 この道をたどるのは、通常の制御ロジックの一部として例外をスローするために使用する必要があるAPIでした。使い方を修正したかったのですが、今はできないかもしれません。代わりに私は彼らの前向きな考え方で彼らを賞賛しなければなりませんか? 論文「ジャストインタイムコンパイルでの効率的なJava例外処理」では、例外ハンドラーが存在するだけで、例外がスローされない場合でも、JITコンパイラーがコードを適切に最適化して速度を低下させるのを防ぐのに十分であると著者らは述べています。 。この理論はまだテストしていません。

24
Javaでツリーデータ構造を実装する方法 [閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 2年前休業。 Javaでツリーを表す標準のJavaライブラリクラスはありますか? 具体的には、以下を表す必要があります。 任意のノードのサブツリーは、任意の数の子を持つことができます 各ノード(ルートの後)とその子は文字列値を持ちます 特定のノードのすべての子(ある種のリストまたは文字列の配列)とその文字列値(つまり、ノードを入力として受け取り、子ノードのすべての文字列値を出力として返すメソッド)を取得する必要があります。 これに利用できる構造はありますか、または自分で作成する必要がありますか?

13
ハッシュセットとツリーセット
私はいつも木を愛してきましO(n*log(n))た。ただし、私がこれまでに知っているすべてのソフトウェアエンジニアから、なぜを使用するのかがはっきりと尋ねられましたTreeSet。CSのバックグラウンドから、私はあなたが何を使うかはそれほど重要ではないと思います、そして私はハッシュ関数とバケット(の場合Java)をいじくり回す必要はありません。 どの場合に私はHashSetオーバーを使用する必要がありTreeSetますか?
496 java  hashset  treeset 

26
浮動小数点数を不必要な10進数の0なしで文字列にうまくフォーマットする方法は?
64ビットdoubleは、整数+/- 2 53を正確に表すことができます この事実を考えると、私の最大の整数は符号なし32ビットなので、すべての型の単一型としてdouble型を使用することを選択します。 しかし、今、これらの疑似整数を出力する必要がありますが、問題は、それらも実際のdoubleと混在していることです。 では、これらのdoubleをJavaで適切に印刷するにはどうすればよいですか? 私はを試しましたがString.format("%f", value)、小さい値に対して多くの後続ゼロが得られることを除いて、これは近いです。 これはの出力例です %f 232.00000000 0.18000000000 1237875192.0 4.5800000000 0.00000000 1.23450000 私が欲しいのは: 232 0.18 1237875192 4.58 0 1.2345 確かに、これらのゼロをトリミングする関数を書くことはできますが、それは文字列操作によるパフォーマンスの大幅な低下です。別のフォーマットコードを使ってもっと上手くできますか? 編集 トムEとジェレミーSの回答は、どちらも任意に小数点第2位に四捨五入されるため、受け入れられません。答える前に問題を理解してください。 編集2 これString.format(format, args...)はロケールに依存することに注意してください(以下の回答を参照してください)。


26
なぜこれが無限ループになるのですか?
私は次のコードを持っています: public class Tests { public static void main(String[] args) throws Exception { int x = 0; while(x<3) { x = x++; System.out.println(x); } } } 私たちは、彼がちょうど書かれている必要があります知っているx++かx=x+1、しかしにx = x++それべき最初の属性x自体に、後でそれをインクリメントします。なぜ価値xとして続けるの0ですか? - 更新 バイトコードは次のとおりです。 public class Tests extends java.lang.Object{ public Tests(); Code: 0: aload_0 1: invokespecial #1; //Method java/lang/Object."<init>":()V 4: return public …

30
エラー-trustAnchorsパラメータは空でない必要があります
Jenkins / Hudsonで電子メールを設定しようとすると、常にエラーが表示されます。 java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty エラーについてオンラインでかなりの量の情報を見ましたが、何も動作しません。Fedora Linux(OpenJDKではない)でSunのJDKを使用しています。 これが私が試したいくつかのことです。この投稿のアドバイスに従ってみましたが、WindowsからJenkinsをホストしているFedoraボックスにcacertsをコピーできませんでした。GmailをSMTPサーバーとして設定しようとしているため、このガイドに従ってみましたが、うまくいきませんでした。また、これらのcacertファイルを手動でダウンロードして移動し、このガイドのさまざまなコマンドを使用してJavaフォルダーに移動しようとしました。 私は現在立ち往生しているので、私はどんな提案にも開いています。Windows Hudsonサーバーで動作させることができましたが、Linuxで苦労しています。
492 java  hudson  javamail  jenkins 



11
Javaで「UTF-8」文字列リテラルを取得する場所
次のコードでは、文字列リテラルの代わりに定数を使用しようとしています。 new InputStreamReader(new FileInputStream(file), "UTF-8") "UTF-8"かなり頻繁にコードに現れ、static final代わりにいくつかの変数を参照する方がはるかに良いでしょう。このような変数がJDKのどこにあるか知っていますか? ちなみに、考え直してみると、このような定数は悪い設計です。パブリックスタティックリテラルはデータ複製のソリューションではありません
490 java 

21
C#の#regionに相当するJava
Eclipseでコードの折りたたみにリージョンを使用したい。どのようにしてJavaでそれを行うことができますか? C#での使用例: #region name //code #endregion
489 java  c#  eclipse  folding 

10
Javaで安全にlongをintにキャストする
キャストからlongへのキャストがint情報を失わないことを確認するJavaの最も慣用的な方法は何ですか? これは私の現在の実装です: public static int safeLongToInt(long l) { int i = (int)l; if ((long)i != l) { throw new IllegalArgumentException(l + " cannot be cast to int without changing its value."); } return i; }
489 java  casting 

12
Javaコードの特定のセクションでEclipseコードフォーマッターをオフにする方法
Java文字列として記述されたSQLステートメントを含むJavaコードをいくつか持っています(OR / Mフレームワールは使用しないでください。埋め込まれたSQLはそれです-私の決定ではありません)。 メンテナンスを容易にするために、SQLステートメントを意味的にいくつかのコード行に連結された複数の文字列に分割しました。したがって、次のようなものの代わりに: String query = "SELECT FOO, BAR, BAZ FROM ABC WHERE BAR > 4"; 私のようなものがあります: String query = "SELECT FOO, BAR, BAZ" + " FROM ABC " + " WHERE BAR > 4 "; このスタイルにより、特に大規模なクエリの場合に、SQLが非常に読みやすく、維持されます(IMHO)。たとえば、エディターを「上書き」モードにして、テキストをその場で簡単に変更できます。 この問題は、SQLの特定の例を超えて一般化することに注意してください。垂直方向の書式、特に表形式の構成で記述されたコードは、きれいなプリンターによって破壊されやすくなります。 現在、一部のプロジェクトメンバーはEclipseエディターを使用しており、ソースファイル全体をフォーマットすると、セマンティックフォーマットが破壊されることがよくあります。 フォーマットに関してソースの特定の行を無視するようにEclipseに指示する方法はありますか? Eclipseフォーマッターを切り替える特別なコメントのようなものを探しています。理想的には、そのようなコメントは私たちが選択したものになるように構成可能であり、他のフォーマッターもそれを尊重するようにプログラムできます。 // STOP-ECLIPSE-FORMATTING String query = "SELECT FOO, BAR, …

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