問題タブ [diamond-operator]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 型パラメーターは、ジェネリック オブジェクトのインスタンス化のコンストラクターで役立ちますか?
Java 7以降、インスタンス化中にコンストラクターでジェネリッククラスの型を繰り返すことは冗長であることを知っています。しかし、ひし形演算子 <> はどうですか? オプションで繰り返すことができますか? 言い換えれば、これの違いは何ですか?
この
またはこれ
この
前もって感謝します
java - ダイヤモンド演算子を使用したワイルドカード
私がこのようなことをしようとしている場合:
その後、コードは正常にコンパイルおよび実行されますが、どのタイプがArrayList
作成されたのでしょうか?
そして、この行の後、私がこのようにした場合:
コンパイルエラーが発生します:
このエラーは何ですか?ワイルドカードでダイヤモンド演算子を使用するのは適切ですか? はいの場合、どこで???
java - Java 7 ダイヤモンド演算子と派生クラスによる初期化
ジェネリックを使用して作成されたオブジェクトを保持するための Holder クラスがあります。main() では、ダイヤモンド演算子を使用して初期化すると、ホルダーのコンストラクターに渡された派生クラスでコンパイルされません (Java 7) (必要な A / 見つかった B):
ただし、基本型が右側の部分で指定されている場合は、コンパイルして機能します。
なんで?ダイヤモンド演算子は、左側と同じ型パラメーターを使用して割り当ての右側を定義していませんか?
java - IDEA で -source を使用する方法
どうすればこれを修正できますか? コードをコンパイルしようとすると、次のメッセージが表示されます。
私のPCにはこの設定があり、IDEAを使用しています:
それをコンパイルするには正確に何をすべきですか?「-source 7」はどこに配置すればよいですか?
java - Java 1.7 での非論理的なコンパイル エラー: '<>' 演算子
私はEclipse EE IDE 2.0.1で作業しており、2つのJavaプロジェクトAとBがあります。プロジェクトBはjarファイルとしてプロジェクトAに追加されます。プロジェクトAはTomcatサーバーで実行されます。
A を実行しているときに、A が B にアクセスするとすぐに例外が発生します。
(1) 両方のプロジェクトのプロジェクト ファセットと Java コンパイラを 1.7 に設定しました。サーバー ランタイム環境も 1.7 です。ここで説明されているすべての手順を含め、見つけることができるすべてのものを Java 1.7 に設定しました: Diamond operator(<>) not working in Java 1.7
(2) 私のコードのどこにも '<>' 演算子はそのように存在しません。私は常に、菱形の括弧内で型を定義します。(例外のスクリーンショットを参照)
だから今、私は間違いが私のソースコードにあるとは思わない...しかし、ここで何が起こっているの??
編集:プロジェクト B を実行しただけでは、そのようなエラーは発生しません。