list 与 list<T> 不太懂

img

img

力扣的的分区数组中,代码提交时提示Object[] 不能转化为int[][]类型的,


为什么不用List<T>就会报错啊

list<int[]> list明确了list中存放的内容的具体类型,所以转换成int [][]没问题,编译器可以识别
但List list的话,编译器只知道基础类型Object [],不知道怎么转换成int [][]
看看能不能先toArray为Object [][],再进行强制转换

这样写是不会报错的,但是会报警告:

List list=new ArrayList<>();
list.add("Hello");

System.out.println(list);

这是因为JDK 1.5版本的新功能,需要对List、Vector之类定义时候,最好进行泛型化,这样的好处是当你指定类型后,比如 List<Integer> list=new ArrayList<>(); ,在你使用add方法的时候会判断你新增的数据是否合法。

另外,你需要改成这样,因为 int 不是一个类, Integer 才是类。


List<Integer[]> list=new ArrayList<>();

学会看源码,建议查一下:c.toArray might (incorrectly) not return Object[] (see 6260652)

img