2013-10-18 53 views
2

嗨方法所有我想我有一個簡單的問題,但我不能處理它:(有不同的List參數

我有不同對象的兩個列表,但是這些對象都有一個相同的方法。 祝該列表傳遞給方法和執行對象的方法:

List<Job> list = new ArrayList<Job>(); 
Job j1 = new Job(); 
j1.setName("ddddd"); 
list.add(j1); 
Job j2 = new Job(); 
j2.setName("fffff"); 
list.add(j2); 


List<JobItem> list2 = new ArrayList<JobItem>(); 
JobItem j3 = new JobItem(); 
j3.setName("ttttt"); 
list2.add(j3); 
JobItem j4 = new JobItem(); 
j4.setName("bbbbb"); 
list2.add(j4); 

listItems(list); 

private void listItems(List<?> list) { 
    for (int i = 0; i < list.size(); i++) { 
     Job ff = (Job) list.get(i); 
     System.out.println(ff.getName()); 
    } 
} 

這個例子的作品,但我怎麼能傳遞也列表2列表

謝謝大家幫忙

+1

類是不相關的嗎?考慮使用'instanceof'或改進您的設計以使用多態性。 –

回答

3

製作一個包含您所需方法的公共基類或接口。

然後,更改方法採取List<? extends JobBase>