3
我有例如:有趣的行爲通配符
public static <T extends Number> void doJob(List<T> pr,List<? extends Number> en,T tel){
//
System.out.println(pr.get(0).intValue());
}
List<? extends Integer> intList=new ArrayList<>();
Integer inval=200;
List<Integer> intList3=new ArrayList<Integer>(Arrays.asList(1,2,3));
doJob(intList3,intList,inval);//it is allowed
intList=intList3;
doJob(intList,intList,intList.get(0));//IT IS FORBIDDEN
爲什麼 doJob的編譯器禁止不調用(intList中,intList中,intList.get(0));甚至intList實際上是 列表類型?
看來你是對的,因爲我試圖定義另一種方法:public static void doanotherJob(List pr,List <?extends Number> en)。在這種情況下,它可以與doanotherJob(intList,intList)一起使用;謝謝。 –
2015-03-13 11:46:55
謝謝。但是,在我得到15分的聲望之前,你需要等待一小會兒才能夠成功。 :-( – 2015-03-16 11:03:31