2015-10-14 30 views
24

Ben Android Studio kullanıyorum ve bunu yazmak:Açık tür argüman neden elmas ile değiştirilmelidir?

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

bu mesajı var:

Açık tip argüman Düğme Ben <>

değiştirilmesi gerektiğini

meraklı, neden yerine elmas kullanmak daha iyi olurdu?

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

DÜZENLEME:
Ben hiç kopya katılmıyorum! Bu cevabı daha önce görmüştüm ve açık argümanı hiç bir argümanla karşılaştırmıyor, oysa ben açık argümanı örtük argümanla karşılaştırıyorum!

+0

O bunu gerektiği değil, ama Kodunuzu daha güzel (daha kısa) yapın, bu yüzden karşı sorularım var: neden elmas operatörü kullanmıyorsunuz? – Pshemo

+0

Derleyici için daha fazla bilginin daha iyi olduğunu düşünürdüm, ama nasıl çalıştığını gerçekten bilmiyorum ... –

+1

@DanChaltiel derleyicinin hayatını kolaylaştırıyor ancak derleyicinizden daha fazlasını talep etmelisiniz :) –

cevap

28

O az ayrıntılı,

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

vs

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

aşağıdaki Sana ikinci seçenek için giderdim düşünüyorum düşünün

+7

Yani "güzel" dışında bir fark yok mu? Bunun için gideceğim! –

+1

@DanChaltiel Sanırım, açık versiyonun her kullanımında değişikliği gerçekleştirmeniz gerektiğinden daha sonra değişimin daha kolay olduğunu tartışabilirsiniz. E. 'String'den' Integer''e geçilir. – lucidbrot

İlgili konular