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

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


6
定数Javaから注釈に値を提供する方法
アノテーションとそのパラメーターはコンパイル時に解決されるため、これはJavaでは不可能かもしれないと思います。私は次のようなインターフェースを持っています、 public interface FieldValues { String[] FIELD1 = new String[]{"value1", "value2"}; } そして別のクラスとして、 @SomeAnnotation(locations = {"value1", "value2"}) public class MyClass { .... } 多くのクラスを注釈でマークし、代わりに使用したいすべての注釈で文字列を指定することを回避できるかどうか知りたい @SomeAnnotation(locations = FieldValues.FIELD1) public class MyClass { .... } しかし、これは注釈値が配列初期化子である必要があるなどのコンパイルエラーを発生させます。文字列定数またはString []定数を使用して注釈に値を提供する方法を誰かが知っていますか?
146 java  arrays  annotations 


9
Java MapがCollectionを拡張しないのはなぜですか?
ないことに驚いMap<?,?>たCollection<?>。 それがそのように宣言されていれば、それは意味のあることだと思いました。 public interface Map<K,V> extends Collection<Map.Entry<K,V>> 結局のところ、Map<K,V>はのコレクションMap.Entry<K,V>ですよね。 それがそのように実装されていない理由はありますか? 最も権威のある答えをCletusのおかげで、私はまだ、なぜ、あなたはすでに見ることができた場合に思ったんだけどMap<K,V>としてSet<Map.Entries<K,V>>(経由entrySet())、それだけではなく、そのインタフェースを拡張しません。 a Mapがの場合Collection、要素は何ですか?唯一の合理的な答えは「キーと値のペア」です まさに、interface Map<K,V> extends Set<Map.Entry<K,V>>素晴らしいでしょう! しかし、これは非常に限られた(そして特に有用ではない)Map抽象化を提供します。 しかし、その場合は、なぜentrySetインターフェースによって指定されるのでしょうか。それはどういうわけか有用であるに違いありません(そして私はその立場について議論するのは簡単だと思います!)。 特定のキーがどの値にマップされているかを確認したり、特定のキーのエントリを削除したりすることはできません。 それがすべてであると言っているわけではありませんMap!それは他のすべてのメソッドを保持でき、保持する必要があります(ただしentrySet、現在は冗長です)。
146 java  oop  collections 

28
Javaで誰かの年齢を計算するにはどうすればよいですか?
Javaメソッドのintとして年齢を返します。私が今持っているのは、getBirthDate()がDateオブジェクト(誕生日;-)を返す次のようなものです。 public int getAge() { long ageInMillis = new Date().getTime() - getBirthDate().getTime(); Date age = new Date(ageInMillis); return age.getYear(); } しかしgetYear()は非推奨であるため、これを行うより良い方法があるかどうか疑問に思っていますか?(まだ)ユニットテストが実施されていないため、これが正しく機能するかどうかさえわかりません。
146 java  date  calendar 

10
ストリームを2つのストリームに分割できますか?
Java 8ストリームで表されるデータセットがあります。 Stream<T> stream = ...; それをフィルタリングしてランダムなサブセットを取得する方法を見ることができます-たとえば Random r = new Random(); PrimitiveIterator.OfInt coin = r.ints(0, 2).iterator(); Stream<T> heads = stream.filter((x) -> (coin.nextInt() == 0)); また、このストリームを削減して、たとえばデータセットの2つのランダムな半分を表す2つのリストを取得し、それらをストリームに戻す方法も確認できます。しかし、最初のストリームから2つのストリームを生成する直接的な方法はありますか?何かのようなもの (heads, tails) = stream.[some kind of split based on filter] 洞察をありがとう。
146 java  java-8  java-stream 

19
「11日」、「21日」、または「23日」(序数表示)を表すように月の日付をどのようにフォーマットしますか?
私はこれが数として私の月の日を与えるだろう知っています(11、21、23): SimpleDateFormat formatDayOfMonth = new SimpleDateFormat("d"); しかし、月の日をどのようにフォーマットして、たとえば序数インジケータを含めるか11th、21stなど23rdです。

7
Spring ControllerでJPAおよびHibernateとのFetchType.LAZY関連付けをフェッチする方法
私はPersonクラスを持っています: @Entity public class Person { @Id @GeneratedValue private Long id; @ManyToMany(fetch = FetchType.LAZY) private List<Role> roles; // etc } 怠惰な多対多の関係で。 私のコントローラーには @Controller @RequestMapping("/person") public class PersonController { @Autowired PersonRepository personRepository; @RequestMapping("/get") public @ResponseBody Person getPerson() { Person person = personRepository.findOne(1L); return person; } } そして、PersonRepositoryはこのガイドに従って書かれたまさにこのコードです public interface PersonRepository extends …

8
スレッドプールでMDCを使用する方法
私たちのソフトウェアでは、MDCを幅広く使用して、セッションIDやWebリクエストのユーザー名などを追跡しています。これは、元のスレッドで実行している間は正常に機能します。ただし、バックグラウンドで処理する必要があるものはたくさんあります。そのために、いくつかの自己ロール非同期実行サービスとともにjava.concurrent.ThreadPoolExecutorおよびjava.util.Timerクラスを使用します。これらのサービスはすべて、独自のスレッドプールを管理します。 このような環境でのMDCの使用について、Logbackのマニュアルでは次のように述べています。 マップされた診断コンテキストのコピーは、開始スレッドから常にワーカースレッドに継承されるとは限りません。これは、java.util.concurrent.Executorsがスレッド管理に使用される場合です。たとえば、newCachedThreadPoolメソッドはThreadPoolExecutorを作成し、他のスレッドプールコードと同様に、複雑なスレッド作成ロジックを備えています。 このような場合、タスクをエグゼキューターに送信する前に、元の(マスター)スレッドでMDC.getCopyOfContextMap()を呼び出すことをお勧めします。タスクが実行されると、最初のアクションとして、MDC.setContextMapValues()を呼び出して、元のMDC値の格納されたコピーを新しいExecutorマネージスレッドに関連付けます。 これは問題ありませんが、これらの呼び出しを追加することを忘れるのは非常に簡単であり、手遅れになるまで問題を認識する簡単な方法はありません。Log4jの唯一の兆候は、ログにMDC情報が欠落していることと、Logbackを使用すると古いMDC情報が取得されることです(トレッドプールのスレッドは、実行された最初のタスクからMDCを継承するため)。どちらも本番システムでは深刻な問題です。 私たちの状況は特別なものだとは思いませんが、この問題についてウェブ上であまり見つけることができませんでした。どうやら、これは多くの人がぶつかる問題ではないので、それを回避する方法がなければなりません。ここで何が悪いのでしょうか?
146 java  logging  slf4j  logback  mdc 

7
Runtime.getRuntime()。totalMemory()およびfreeMemory()とは何ですか?
Runtime.getRuntime()。totalMemory()、Runtime.getRuntime()。freeMemory()、およびRuntime.getRuntime()。maxMemory()の正確な意味は何なのかと思っていました 。 私の理解は、Runtime.getRuntime().totalMemory()私のプロセスが使用しているメモリの合計を返します。あれは正しいですか? どの程度freeMemory()とmaxMemory()?
146 java 

14
特定の列を選択するSpring JPA
Spring JPAを使用してすべてのデータベース操作を実行しています。しかし、Spring JPAのテーブルから特定の列を選択する方法がわかりませんか? 例えば: SELECT projectId, projectName FROM projects

6
JComboBox選択変更リスナー?
から選択が行われるたびにイベントを発生させようとしていますJComboBox。 私が抱えている問題は、明確なaddSelectionListener()方法がないということです。 を使用しようとしましたactionPerformed()が、起動しません。 のモデルをオーバーライドしJComboBoxないと、アイデアが足りません。 の選択の変更を通知するにはどうすればよいJComboBoxですか?** 編集:私は謝罪する必要があります。不正な動作をするのサブクラスを使用していたことがわかりJComboBoxましたが、あなたの答えは良いので、質問は残しておきます。




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