2011-02-03 5 views
95

私はいくつかのJMockit例を通じて読んで、このコードを発見した。このチルダは何を意味しますか?

final List<OrderItem> actualItems = new ArrayList<~>(); 

共通識別子でチルダは何を意味するのでしょうか?私はそれが単項ビットNOT演算子だと知っていますが、ここにはオペランドはありません。

また、コンパイルを試みてエラーが発生しました。私は何かを逃していますか?

答えて

116

「宣言と同じ」の略語です。一部のIDE、たとえばIntellijもこれを使用します。

ディスク上のファイルにはこの表記法がありません。これはIDE GUIのコンパクションのみです。

+1

これはIntellijのスクリーンショットでした。 –

+0

IntelliJは、* this *表記、iaw、不正なJavaコンテンツを含むソースファイルでJavaソースファイルを生成しますか?または、これはソースの*表示*であり、保存されたファイルは正しいですか? –

+5

@Andreas_D:単なるビューです。ディスク上のファイルはokです。 – openCage

2

タイプが何であってもこのタイプのものを意味すると思います。OrderItem

13

チルダがなかった場合、私は言うだろう、コードはすでにJavaの7 Java 7 allows the diamond operatorだったので、これは正当なJavaコードになります/です:

Map<String, List<String>> map = new HashMap<>(); 

(しかし - この構文を持つ無チルダIntelliJ IDEA、ここで~において)

5

Set<String> associations = new LinkedHashSet<~>(); 

は左側の宣言と同じである、Stringを意味します。

関連する問題