2014-02-16 86 views
0

我有兩個類,TeacherPupil。在Teacher類中有一個Pupil的數組列表(包含Pupil的實例)。 我想這樣做:訪問有關陣列列表中對象的信息

System.out.println(pupils.get(1).getName()) 

其中getNamePupil類的方法。但是,pupils.get(1)似乎並不作爲Pupil,並且不會讓我調用此方法。我應該怎麼做?

+0

你能發佈您的代碼? – McLovin

+0

您的數組列表是否已輸入? – RNJ

回答

1

Generics應該做的伎倆。如果定義pupils作爲類型列表,然後get(int)應返回Pupil對象:

List<Pupil> pupils = new ArrayList<Pupil>(); 
// add some data to the list 
System.out.println(pupils.get(1).getName()); 
0

您應該使用Generics

這裏假設你的代碼的一些基本的東西。具體來說,學生是一個包含學生實例的班級。您可以使用getPupils()作爲List/Collection來獲取它們。

ArrayList<Pupil> pupilsList = new ArrayList<Pupil>(); 
for (Pupil p : pupils.getPupils()){ 
    // add all pupils 
    System.out.println("Adding " + pupilsList.add(p)); 
} 

for (int i=0; i < pupilsList.size(); i++){ 
    // print all pupils 
    System.out.println("Name: " + pupilsList.get(i).getName()) 
} 
+0

學生是誰? – Ioan

0

定義爲學生:

List<Pupil> pupils = ...(some initialization) 

或丟給學生:

System.out.println(((Pupil)(pupils.get(1))).getName())