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

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

15
HibernateがMultipleBagFetchExceptionをスローします-複数のバッグを同時にフェッチできません
Hibernateは、SessionFactoryの作成中にこの例外をスローします。 org.hibernate.loader.MultipleBagFetchException:複数のバッグを同時にフェッチできない これは私のテストケースです: Parent.java @Entity public Parent { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private Long id; @OneToMany(mappedBy="parent", fetch=FetchType.EAGER) // @IndexColumn(name="INDEX_COL") if I had this the problem solve but I retrieve more children than I have, one child is null. private List<Child> children; } Child.java @Entity public Child { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private Long id; …
471 java  hibernate  jpa  one-to-many  bag 


25
例外をスローするJava 8 Lambda関数?
Stringパラメータを持ち、を返すメソッドへの参照を作成する方法を知っていますint。 Function<String, Integer> ただし、関数が例外をスローする場合、これは機能しません。たとえば、次のように定義されているとします。 Integer myMethod(String s) throws IOException この参照をどのように定義しますか?
469 java  lambda  java-8 

29
インターフェイスと抽象クラスの違いをどのように説明すればよいですか?
インタビューの1つで、インターフェイスと抽象クラスの違いを説明するように求められました。 これが私の返答です: Javaインターフェースのメソッドは暗黙的に抽象的であり、実装を持つことはできません。Java抽象クラスには、デフォルトの動作を実装するインスタンスメソッドを含めることができます。 Javaインターフェースで宣言された変数は、デフォルトではfinalです。抽象クラスには、非final変数が含まれる場合があります。 Javaインターフェースのメンバーはデフォルトでパブリックです。Java抽象クラスは、private、protectedなどの通常のクラスメンバーのフレーバーを持つことができます。 Javaインターフェースは、キーワード「implements」を使用して実装する必要があります。Java抽象クラスは、キーワード「extends」を使用して拡張する必要があります。 インターフェースは別のJavaインターフェースのみを拡張でき、抽象クラスは別のJavaクラスを拡張して複数のJavaインターフェースを実装できます。 Javaクラスは複数のインターフェースを実装できますが、拡張できる抽象クラスは1つだけです。 しかしインタビュアーは満足せず、この記述は「本好きの知識」を表すものだと私に言った。 実用的な例を使用して、インターフェイスより抽象クラスをいつ選択するかを説明し、より実用的な対応を求められました。 どこで私は間違えましたか?

8
イテレータをストリームに変換する方法は?
私は、イテレータをストリームに「見る」Iteratorために、Streamまたはより具体的に変換する簡潔な方法を探しています。 パフォーマンス上の理由から、新しいリストではイテレータのコピーを避けたいと思います。 Iterator<String> sourceIterator = Arrays.asList("A", "B", "C").iterator(); Collection<String> copyList = new ArrayList<String>(); sourceIterator.forEachRemaining(copyList::add); Stream<String> targetStream = copyList.stream(); コメントのいくつかの提案に基づいて、私も使用しようとしましたStream.generate: public static void main(String[] args) throws Exception { Iterator<String> sourceIterator = Arrays.asList("A", "B", "C").iterator(); Stream<String> targetStream = Stream.generate(sourceIterator::next); targetStream.forEach(System.out::println); } ただし、NoSuchElementException(の呼び出しがないためhasNext) Exception in thread "main" java.util.NoSuchElementException at java.util.AbstractList$Itr.next(AbstractList.java:364) at Main$$Lambda$1/1175962212.get(Unknown Source) …
468 java  iterator  java-8 

30
Javaで文字列を逆にする
"Hello World"という名前の文字列変数を保持していますhi。 印刷する必要がありますが、裏返しました。 これどうやってするの?それを実行する関数がすでにJavaに組み込まれていることを理解しています。 関連:「Hello World」文字列の個々の単語をJavaで逆にします
467 java  string 

8
Java 8 Iterable.forEach()とforeachループ
OverантотвопросестьответынаStack Overflowнарусском:ЦиклforeachпротивIterable.foreachвJava 8:чтолучше? 次のうちどれがJava 8でより良い実践ですか? Java 8: joins.forEach(join -> mIrc.join(mSession, join)); Java 7: for (String join : joins) { mIrc.join(mSession, join); } 私はラムダで「単純化」できるforループをたくさん持っていますが、それらを使用することには本当に何か利点がありますか?パフォーマンスと読みやすさが向上しますか? 編集 また、この質問をより長い方法に拡張します。あなたはラムダから親関数を返すこともブレークすることもできないことを知っています、そしてそれらを比較するときにこれも考慮に入れられるべきですが、他に考慮すべきことはありますか?

18
Java文字列の日付形式を変更する
私がしましたString日付を表します。 String date_s = "2011-01-18 00:00:00.0"; に変換してフォーマットでDate出力したいのYYYY-MM-DDですが。 2011-01-18 どうすればこれを達成できますか? さて、以下で検索した回答に基づいて、これが私が試したものです: String date_s = " 2011-01-18 00:00:00.0"; SimpleDateFormat dt = new SimpleDateFormat("yyyyy-mm-dd hh:mm:ss"); Date date = dt.parse(date_s); SimpleDateFormat dt1 = new SimpleDateFormat("yyyyy-mm-dd"); System.out.println(dt1.format(date)); しかし、それ02011-00-1は望ましいの代わりに出力します2011-01-18。何が悪いのですか?

9
Mapを実装し、挿入順序を維持するJavaクラス?
キーと値の関連付けがあるが、ハッシュを使用しないJavaのクラスを探しています。これが私が現在やっていることです: に値を追加しますHashtable。 のイテレータを取得しますHashtable.entrySet()。 すべての値を反復処理し、 Map.Entryイテレータのを取得します。 Module値に基づいてタイプのオブジェクト(カスタムクラス)を作成します。 クラスをJPanelに追加します。 パネルを表示します。 これの問題は、値を取得する順序を制御できないため、特定の順序で値を表示できないことです(順序をハードコーディングしないと)。 私はこれにArrayListor Vectorを使用しますが、コードの後半で、Module指定されたKeyのオブジェクトを取得する必要があります。これはArrayListorで行うことはできませんVector。 これを行うフリー/オープンソースのJavaクラス、またはHashtable追加されたときに基づいてから値を取得する方法を知っている人はいますか? ありがとう!

13
Javaでのjarとwarの違い
違いは何である.jarと.war、ファイルは? それはファイル拡張子だけですか、それともそれ以上ですか?
462 java  jar  war 


2
JAX-RSおよびJerseyを使用したRESTトークンベースの認証のベストプラクティス
ジャージーでトークンベースの認証を有効にする方法を探しています。特定のフレームワークを使用しないようにしています。それは可能ですか? 私の計画は、ユーザーがWebサービスにサインアップし、Webサービスがトークンを生成してクライアントに送信し、クライアントがそれを保持することです。次に、クライアントは、要求ごとに、ユーザー名とパスワードの代わりにトークンを送信します。 リクエストごとにカスタムフィルターを使用する@PreAuthorize("hasRole('ROLE')") ことを考えていましたが、これにより、データベースへの多くのリクエストにより、トークンが有効であるかどうかが確認されると思いました。 または、フィルターを作成せず、各リクエストにparamトークンを入れますか?そのため、各APIはまずトークンをチェックし、その後、リソースを取得するために何かを実行します。

14
Spring:@Componentと@Bean
@Componentクラスパススキャンを使用してXML Bean定義を取り除くために、Spring 2.5でアノテーションが導入されたことを理解しています。 @BeanはSpring 3.0で導入され@Configuration、xmlファイルを完全に削除し、代わりにjava configを使用するために使用できます。 @Componentアノテーションを導入する代わりにアノテーションを再利用することは可能@Beanでしたか?私の理解では、最終的な目標はどちらの場合もBeanを作成することです。


30
チェックされた例外に対するケース
何年もの間、私は次の質問に対して適切な答えを得ることができませんでした:一部の開発者はなぜチェックされた例外に反対するのですか?私は数多くの会話をしたり、ブログで物事を読んだり、ブルース・エッケルが言わなければならなかったことを読んだりしました(私が最初に見た人が彼らに反対して声を上げました)。 私は現在、いくつかの新しいコードを書いており、例外の処理方法に細心の注意を払っています。「チェックされた例外は好きではない」群衆の視点を確認しようとしていますが、それでも確認できません。 私が行ったすべての会話は、同じ質問に答えられずに終わります...設定させてください: 一般的に(Javaの設計方法から)、 Error 決して捕まってはならないもののためのものです(VMにはピーナッツアレルギーがあり、誰かがピーナッツの瓶を落としました) RuntimeException プログラマーが間違ったことに使用されます(プログラマーが配列の最後を離れてウォークしました) Exception(を除くRuntimeException)は、プログラマーの制御が及ばないもののためのものです(ファイルシステムへの書き込み中にディスクがいっぱいになり、プロセスのファイルハンドルの制限に達したため、これ以上ファイルを開くことができません) Throwable 単にすべての例外タイプの親です。 私がよく耳にする議論は、例外が発生した場合、開発者はすべてプログラムを終了することです。 私がよく耳にするもう1つの主張は、チェックされた例外はコードのリファクタリングを難しくするというものです。 「私がやろうとしていることはすべて終了する」という議論の場合、終了する場合でも、適切なエラーメッセージを表示する必要があるということです。エラーの処理に注意を払っているだけの場合、プログラムが終了したときにユーザーは、理由を明確に示さずに過度に満足することはありません。 「リファクタリングが難しくなる」群衆にとって、それは適切な抽象化レベルが選択されなかったことを示しています。宣言はメソッドが投げるのではなくIOException、IOExceptionより多くの何が起こっているに適している例外に変換する必要があります。 Mainのラップに問題はありませんcatch(Exception)(または、場合によってcatch(Throwable)は、プログラムが正常に終了できるようにするために-しかし、常に必要な特定の例外をキャッチします。これにより、少なくとも適切な表示を行うことができますエラーメッセージ。 人々が決して答えない質問はこれです: RuntimeException サブクラスではなくサブクラスをスローする場合、Exception 何をキャッチすることになっているのかをどのようにして知るのですか? 答えがcatchの場合は、Exceptionシステム例外と同じ方法でプログラマエラーも処理しています。それは私には間違っているようです。 キャッチThrowableすると、システム例外とVMエラー(など)を同じように処理していることになります。それは私には間違っているようです。 答えが、スローされていることがわかっている例外だけをキャッチすることである場合、どのような例外がスローされているかをどのようにして知るのですか?プログラマXが新しい例外をスローし、それをキャッチするのを忘れた場合はどうなりますか?それは私にとって非常に危険なようです。 スタックトレースを表示するプログラムは間違っていると思います。チェックされた例外を好まない人はそのように感じませんか? それで、チェックされた例外が気に入らない場合は、なぜそうしないのかを説明し、答えられない質問に答えてください。 編集:私はどちらのモデルをいつ使用するかについてのアドバイスを探していません、私が探しているのは、人々がそこRuntimeExceptionから拡張するのが好きではないために拡張する理由、Exceptionおよび/または例外をキャッチしてからスローをRuntimeException追加するのではなく、再スローする理由です彼らの方法。チェック例外を嫌う動機を理解したい。

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