我这样写:
ArrayList<DaysTimes> []daysTimes=new ArrayList[cYear];
其中DaysTimes为一个已定义的类,cYear为一个int
会有下面这样的警告:
Type safety: The expression of type ArrayList[] needs unchecked conversion to conform to ArrayList<DaysTimes>[]改成这样后:
ArrayList<DaysTimes> []daysTimes=new ArrayList<DaysTimes>[cYear];
就变成错误了:
Cannot create a generic array of ArrayList<DaysTimes>请问怎么写才能没有警告
ArrayList<DaysTimes> []daysTimes=new ArrayList[cYear];
其中DaysTimes为一个已定义的类,cYear为一个int
会有下面这样的警告:
Type safety: The expression of type ArrayList[] needs unchecked conversion to conform to ArrayList<DaysTimes>[]改成这样后:
ArrayList<DaysTimes> []daysTimes=new ArrayList<DaysTimes>[cYear];
就变成错误了:
Cannot create a generic array of ArrayList<DaysTimes>请问怎么写才能没有警告
}
int cYear=1;
ArrayList<DaysTimes> []daysTimes=new ArrayList[cYear];
daysTimes[0]=new ArrayList<DaysTimes>();就是这么写的,没有问题!什么问题都没有
我是的是jdk1.504,xp_sp2,eclipse311
@SuppressWarnings("unchecked")
ArrayList<DaysTimes>[] daysTimes = (ArrayList<DaysTimes>[])Tempa;这样出现的警告是一样的,那我们再改一下ArrayList[] Tempa = new ArrayList[cYear];
for(int i=0;i<Tempa.length;i++){
Tempa[i] = new ArrayList<String>(); //注意这儿用的是String
}
ArrayList<DaysTimes>[] daysTimes = (ArrayList<DaysTimes>[])Tempa;出现的警告还是一样,所以这个警告就是告诉你其实你根本就没有完全用范型,所以要自己注意类型。