2010-06-10 18 views

cevap

6

aşağıdaki değil

<ArgType>genericMethod() 

Bu tip argümanları görünüyor sözdizimi

Ben kendi soruya cevap anlamak gibi
SomeClass.<ArgType>genericMethod() 
this.<ArgType>genericMethod() 
p.<ArgType>genericMethod() 
super.<ArgType>genericMethod() 
SomeClass.super.<ArgType>genericMethod() 
SomeClass.this.<ArgType>genericMethod() 
48

örneğin olacağını Java specification göre:. Soran ve kendi soruya cevap için

Collections.<String>unmodifiableSet() 

(Üzgünüm - Sadece

+3

mükemmel kabul edilebilir olduğu gibi bir nokta sonra gelmelidir Yinelenen olmadığı sürece (yani bu şekilde tekrar arama yapmayın). –

+0

Eğer kâhya içinse, örnekte yazım hatası da olabilir ;-). –

+0

Muhtemelen kendi cevabınızı kabul etmelisiniz :) – bacar

4

A :-) üçüncü kez bu kadar arıyordu

<T> T[] toArray(T[] a); 
: kendi genel tür tanımlar genel bir yöntem belirtme java.util.Collection itibaren iyi bir örnek yöntemi imzası benziyor Collection.toArray olduğunu 0

Bu, T[] a parametresi tarafından yöntem çağrısı üzerinde tanımlanan ve T'ler dizisi döndüren genel T türünü bildirir. Yani aynı örneği genel bir tarzda toArray yöntemini diyebiliriz:

Ayrıca
Collection<Integer> collection = new ArrayList<Integer>(); 
collection.add(1); 
collection.add(2); 

// Call generic method returning Integer[] 
Integer[] ints = collection.toArray(new Integer[]{}); 

// Call generic method again, this time returning an Number[] (Integer extends Number) 
Number[] nums = collection.toArray(new Number[]{}); 

, java tutorial on generic type parameters bakın.

+3

Belki de bunu bir çağrıya bir tür parametresi vermekle ilgili kısaltma ile genişletebilirsiniz (cevabımı karşılaştır). Sonra iyi bir kanonik cevap olurdu; çünkü bu soruya cevap vermez, çünkü parametre çağrıda derleyici tarafından dolaylı olarak çıkarılır. :-) –

İlgili konular