私はいくつかの JMockit の例を読んでいて、次のコードを見つけました。
final List<OrderItem> actualItems = new ArrayList<~>();
ジェネリック識別子のチルダは何を意味しますか? 単項ビット単位の NOT 演算子であることはわかっていますが、ここにオペランドがありません。
また、コンパイルしようとしたところ、エラーが発生しました。何か足りないだけですか?
私はいくつかの JMockit の例を読んでいて、次のコードを見つけました。
final List<OrderItem> actualItems = new ArrayList<~>();
ジェネリック識別子のチルダは何を意味しますか? 単項ビット単位の NOT 演算子であることはわかっていますが、ここにオペランドがありません。
また、コンパイルしようとしたところ、エラーが発生しました。何か足りないだけですか?
「宣言と同じ」の省略形です。
IntelliJ などの一部の IDE もこれを使用します。
ディスク上のファイルにはこの表記がありません。これは、IDE GUI での圧縮のみです。
チルダがなければ、コードはすでに Java 7 だったと思います。Java 7 ではひし形演算子が許可されているため、これは合法的な Java コードです。
Map<String, List<String>> map = new HashMap<>();
(ただし、この構文にはチルダはありません)
タイプが何であれ、この場合はOrderItemを意味する略語だと思います。