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

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

27
列挙型とは何で、なぜ有用なのですか?
今日、私はこのサイトでいくつかの質問を閲覧していましたが、そのようなソリューションに対するスレッドセーフティの利点についてenum シングルトンパターンで使用されていることに言及しました。 私はenumsを使用したことがなく、数年以上Javaでプログラミングしています。そしてどうやら彼らは大きく変わった。現在、彼らは彼ら自身の中でOOPの完全なサポートさえしています。 さて、なぜそして何のために日々のプログラミングで列挙型を使用すべきですか?
488 java  enums 


8
java.time.LocalDateTimeとjava.util.Dateの間の変換
Java 8には、日付と時刻の完全に新しいAPIがあります。このAPIで最も有用なクラスの1つは、LocalDateTimeタイムゾーンに依存しない日時付きの値を保持するためのクラスです。 java.util.Dateこの目的でレガシークラスを使用しているコードはおそらく数百万行あります。そのため、古いコードと新しいコードをインターフェイスする場合、2つのコード間で変換する必要があります。これを達成するための直接的な方法はないように思われるので、どのようにそれを行うことができますか?

30
文字列から最後の文字を削除する方法は?
文字列から最後の文字を削除したい。私はこれを試してみました: public String method(String str) { if (str.charAt(str.length()-1)=='x'){ str = str.replace(str.substring(str.length()-1), ""); return str; } else{ return str; } } 文字列の長さ-1を取得し、最後の文字を何も置換しない(削除する)が、プログラムを実行するたびに、最後の文字と同じ中間文字が削除される。 たとえば、単語は「崇拝者」です。メソッドを実行した後、「admie」が表示されます。賞賛という言葉を返してほしい。
483 java  string 

13
Javaの別のクラスからプライベートフィールドの値を読み取る方法は?
サードパーティに設計が不十分なクラスがあり、JARそのプライベートクラスの1つにアクセスする必要があるフィールドのます。たとえば、プライベートフィールドを選択する必要があるのはなぜですか? class IWasDesignedPoorly { private Hashtable stuffIWant; } IWasDesignedPoorly obj = ...; リフレクションを使用して値を取得するにはどうすればよいstuffIWantですか?

9
Java Swingでset(Preferred | Maximum | Minimum)Sizeメソッドの使用を避けるべきですか?
私は次の方法の使用を提案したと何度も批判されました。 setPreferredSize setMinimumSize setMaximumSize 上のSwingコンポーネント。表示されたコンポーネント間の比率を定義したい場合、それらの使用に代わるものはありません。私はこれを言われました: レイアウトでは答えは常に同じです:適切なLayoutManagerを使用します 私はウェブを少し検索しましたが、主題の包括的な分析は見つかりませんでした。だから私は次の質問があります: それらの方法の使用を完全に避けるべきですか? メソッドは理由のために定義されています。それで、いつそれらを使うべきですか?どの文脈で?何のために? これらの方法を使用することの悪影響は、正確には何ですか?(私は、異なる画面解像度のシステム間で移植性を追加することしか考えられません)。 どのLayoutManagerでも、必要なすべてのレイアウトニーズを正確に満たすことができるとは思いません。レイアウトの小さなバリエーションごとに新しいLayoutManagerを実装する必要がありますか? 4の答えが「はい」の場合、これは、維持が困難になるLayoutManagerクラスの急増につながるのではないですか? Componentの子間の比率を定義する必要がある状況(たとえば、child1は10%のスペースを使用し、child2 40%、child3 50%を使用する必要があります)で、カスタムLayoutManagerを実装せずにそれを達成できますか?

20
JavaでBase64データをデコードする
Base64でエンコードされた画像があります。それをJavaでデコードする最良の方法は何ですか?うまくいけば、Sun Java 6に含まれているライブラリのみを使用します。
480 java  base64 

18
Javaの「最終」キーワードはどのように機能しますか?(私はまだオブジェクトを変更できます。)
Javaではfinal、変数とともにキーワードを使用して、値を変更しないように指定します。しかし、クラスのコンストラクター/メソッドの値を変更できることがわかります。繰り返しますが、変数がstaticその場合は、コンパイルエラーです。 これがコードです: import java.util.ArrayList; import java.util.List; class Test { private final List foo; public Test() { foo = new ArrayList(); foo.add("foo"); // Modification-1 } public static void main(String[] args) { Test t = new Test(); t.foo.add("bar"); // Modification-2 System.out.println("print - " + t.foo); } } 上記のコードは正常に動作し、エラーは発生しません。 変数をstatic次のように変更します。 private static final …
480 java  final 

12
String内のJavaのhashCode()が31を乗数として使用するのはなぜですか?
Javaドキュメントによれば、オブジェクトのハッシュコードStringは次のように計算されます。 s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1] int算術を使用します。ここs[i]で、 は文字列のi番目の文字、文字列nの長さ、および^指数を示します。 31が乗算器として使用されるのはなぜですか? 乗数は比較的大きな素数でなければならないことを理解しています。では、なぜ29や37、あるいは97でもないのでしょうか。
480 java  string  algorithm  hash 

30
Javaで現在の日時をUTCまたはGMTで取得するにはどうすればよいですか?
この投稿を改善してみませんか?この質問に対する詳細な回答を提供してください。これには、引用や、回答が正しい理由の説明が含まれます。詳細が不十分な回答は編集または削除される場合があります。 新しいDateオブジェクトを作成すると、現在の時間にローカルタイムゾーンで初期化されます。現在の日時をGMTで取得するにはどうすればよいですか?

11
Javaリフレクションを使用してプライベート静的最終フィールドを変更する
private static finalフィールドを持つクラスがありますが、残念ながら、実行時に変更する必要があります。 リフレクションを使用すると、次のエラーが発生します。 java.lang.IllegalAccessException: Can not set static final boolean field 値を変更する方法はありますか? Field hack = WarpTransform2D.class.getDeclaredField("USE_HACK"); hack.setAccessible(true); hack.set(null, true);



16
リストから要素を削除しようとするとUnsupportedOperationExceptionが発生するのはなぜですか?
私はこのコードを持っています: public static String SelectRandomFromTemplate(String template,int count) { String[] split = template.split("|"); List<String> list=Arrays.asList(split); Random r = new Random(); while( list.size() > count ) { list.remove(r.nextInt(list.size())); } return StringUtils.join(list, ", "); } 私はこれを手に入れます: 06-03 15:05:29.614: ERROR/AndroidRuntime(7737): java.lang.UnsupportedOperationException 06-03 15:05:29.614: ERROR/AndroidRuntime(7737): at java.util.AbstractList.remove(AbstractList.java:645) これはどのように正しい方法でしょうか?Java.15


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