2012-04-12 17 views
5

Java'da C# .net genel listesi nasıl olurdu? Böylejava'da C# .NET Genel Listesine benzer bir şey

somthing:

public class ClientList : List<Client> { } 

NiKIL gelen cevap, sadece Listesinden bir sınıf oluşturmak isteyen kim eklemek istediğiniz mükemmeldi:

public class ClientList extends ArrayList<Client> 

cevap

13

Java'nın Listesi arabirim (java.util.List) doğrulanabilir. Diğer bir deyişle, List örneklerine bir tip verilebilir, bu yüzden sadece bu türden örnekler bu Listeden eklenebilir ve okunabilir. İşte bir örnek:

List<String> list = new ArrayList<String>(); 

Bu liste şimdi bu listeye konabilir yalnızca String örneklerini, yani sadece dize örneklerine yöneliktir. Bu Listeye başka bir şey koymaya çalışırsanız, derleyici şikayette bulunur.

Genel tür çekleri yalnızca derleme zamanında mevcut. Çalışma zamanında, bir String Listesi'nin String'in yerleştirildiği başka nesneler olması için kodunuzu düzeltmeniz mümkündür. Bu kötü bir fikir olsa da.

bir Genel Listesini

Erişme Sen almak ve bu gibi genel bir listesi öğelerini ekleyebilirsiniz: dosya listesinde elde edilen nesne artığını gerekli değildir nasıl

List<String> list = new ArrayList<String>(); 

String string1 = "a string"; 
list.add(string1); 

String string2 = list.get(0); 

dikkat edin. normalde gerekli olduğu gibi get() yöntem çağrısı. Derleyici, bu Listenin yalnızca Dize örneklerini içerebileceğini, dolayısıyla dökümlerin gerekli olmadığını bilir.

böyle, sen bir yineleyici kullanarak genel bir listesi yineleme bir Jenerik Listesini

yineleme: nesne artığını gerekli değildir nasıl

List<String> list = new ArrayList<String>(); 

Iterator<String> iterator = list.iterator(); 

while(iterator.hasNext()){ 
    String aString = iterator.next(); 
} 

Bildirim iterator.next döndü() sonraki çağrı. List öğesi (türü varsa) doğrulanmış olduğundan derleyici, Dize örnekleri içerdiğini bilir. Bu nedenle, ondan elde edilen nesneleri, onun yineleyicisinden gelse bile, dökmek gerekli değildir.

Ayrıca bu gibi For döngüsü yeni kullanabilirsiniz:

List<String> list = new ArrayList<String>(); 

for(String aString : list) { 
    System.out.println(aString); 
} 

Bildirimi String değişkeni için-döngü parantez içinde bildirilen nasıl. Her yinelemede (Listedeki her eleman) bu değişken geçerli elemanı (geçerli String) içerir.

İlgili konular