java 泛型设计这样有问题吗?

image.png

List<String>[] FounderComs = (List<String>[]) new ArrayList<String>[4];

image.png

阅读 1.7k
2 个回答
// 在定义数组时,虽然也有new关键字,但作用就是给数组初始化一个大小。
// 不能理解为实例化操作,所以即使List是个接口,也是可以new的。
// 其标准可以归纳为: datatype [ ] arrayName = new datatype [size];
List<String> [] founderComs = new List [4];
// 这样写也可以。但一定不要加 <> ,加了 <> 就会认为你在new对象,而非定义数组大小。
founderComs = new ArrayList [4];
founderComs[0] = new ArrayList();
founderComs[1] = new ArrayList<>();
founderComs[2] = new ArrayList<String>();

没必要这样,创建数组的时候不会实例化元素,所以应该这样:

List<String>[] FounderComs = new List<String>[4];
FounderComs[0]=new ArrayList<>();
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题