2016-12-23 4 views
0

私は短い質問があります。非常に長い時間のために私はこのようなArrayListの実装:リストの実装の正確さ

public ArrayList<Double> random = new ArrayList<Double>(); 

そして、誰も私を修正していないが、私はそれは良いですが、アンドロイドスタジオは第二のArrayListに「ダブル」を強調思ったが、それはとにかく

public ArrayList<Double> random = new ArrayList<>(); 
の作品

今Androidスタジオでエラーが表示されないので、違いは何ですか?

+0

タイプは、宣言から推測されます。それは明らかです。しかし、静的変数では機能しません。左側のリストをコンパイル時のタイプとして使用することを検討する必要があります。 – duffymo

+3

java 7の後にオブジェクトをインスタンス化するときに型を指定する必要はありません –

+3

参照http://stackoverflow.com/questions/4166966/what-is-the-point-of-the-diamond-operator-in-java -7 。 'public list random = new ArrayList <>();' –

答えて

1

Java標準では問題ありません。 Androidは、タイプ推論のためにオラクルがダイヤモンド演算子と呼ぶものを好んでいます。

あなたはここでそれについての詳細を読むことがあります。StackOverflowの上でそれについての長い記事もありhttp://docs.oracle.com/javase/7/docs/technotes/guides/language/type-inference-generic-instance-creation.htmlWhat is the point of the diamond operator in Java 7?

関連する問題