, ben böyle 've' operatörü (&
) sahip bir sınıf ve/veya daha arayüzleri genişletmek için (bu durumda T
olan) tip argüman kısıtlayabilirsiniz bulundu:Java jeneriklerinde '&' ve ',' arasındaki fark nedir? jenerik hakkında Java resmi öğretici okurken
<T extends MyClass & Serializable>
&
'u ,
ile değiştirdim (yanlışlıkla ve hala küçük bir uyarı ile çalışır).
<T extends MyClass & Serializable>
<T extends MyClass , Serializable> // here is with comma
ve örnek yöntemi:
static <T extends MyClass & Serializable> ArrayList<T> fromArrayToCollection(T[] a) {
ArrayList<T> arr = new ArrayList<T>();
for (T o : a) {
arr.add(o); // Correct
}
return arr;
}
@Doorknob, OP'in bir klavye ve kullandığınız klavyeyi kullandığını varsayıyorsunuz. – emory
@emory Bunun yanlış olduğunu düşünüyorum - hata parmaklarında değil, beyninde. Benzer şekilde, bir Java kaynak dosyasında 'import' yerine 'include' kullanmayı denediniz. 'Dahil et' kelimesini yanlış yazdınız, çünkü beyniniz size çeşitli nedenlerden dolayı yanlış bir şey yazmanızı söyledi. –
@Nicholas Pickering, doğru! Benim için klavyeden dolayı bir mistip değildi, ama beyin yüzünden. Bir sınıfın uyguladığı arayüzleri yazdığınızda, onları virgülle ayırırsınız. –