2015-10-14 15 views
24

は、私は、Android Studioを使用していると私はこれを書く:なぜ明示的な型の引数は、ダイヤモンドで置き換える必要がありますか?

List<Button> buttons = new ArrayList<Button>(); 

私はこのメッセージを持っている:

明示的な型引数ボタンは私は<>

に置き換える必要があります

なぜダイヤモンドを使うのが良いのでしょうか?

List<Button> buttons = new ArrayList<>(); 

EDIT:
私は、すべての重複に同意しません!私は前にその答えを見て、明示的な議論を暗黙の議論と比較するのに対し、明示的な議論を全く議論と比較しません!

+0

それはあなたがそれをしなければならないということではありませんが、私はカウンタの質問があるので、あなたのコードをより良く(短く)してください:なぜダイヤモンドオペレータを使用しないのですか? – Pshemo

+0

私はもっと多くの情報がコンパイラにとってより良いと思うでしょうが、どういう仕組みが本当にわかりません... –

+1

@DanChaltielそれはコンパイラの寿命をより簡単にしますが、コンパイラからますます多くを求めてください:) –

答えて

28

それはそれほど冗長で、

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

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

次私は2番目のオプションのために行くだろうと思う考える

+7

「美しい」以外の違いはありませんか?私はそれのために行くよ! –

+1

@ DanChaltiel私は、あなたが明示的なバージョンのあらゆる使い方で変更を実行する必要があるので、後で変更する方が簡単だと主張することもできると思います。私は例えば'String'から' Integer'に変更されました。 – lucidbrot

関連する問題