并查集
来源:1-1 什么是线段树
weixin_慕圣6334738
2022-02-13 06:38:57
老师您在并查集章节讲leetcode307号问题的时候, 您的答案代码中在
NumArrayComplete里面创建了
Integer[] data = new Integer[nums.length], 问什么这里不能是int而是Integer, 是如果我用了范型就一定要用类创建吗
1回答
liuyubobobo
2022-02-13
是的,泛型里传的类型必须是类。
以 Java 的标准库中的 ArrayList 为例:
ArrayList<int> list = new ArrayList<int>(); 是通不过编译的。
ArrayList<Integer> list = new ArrayList<Integer>(); 是正确的。
==========
数组的类型不一定是类。
int[] data = new int[10]; 是正确的。
Integer[] data = new Integer[10]; 也是正确的。
===========
所以,单纯从你问题中说的这句话,使用 int 是正确的。(这句话本身也不涉及泛型)
但是如果考虑其他逻辑,我就不清楚了。请你具体告诉我你询问的是那段代码里的哪一行。可以在课程的官方代码库中给我指出具体的代码链接和具体的行。课程官方代码库传送门:https://git.imooc.com/class-105/Play-Algorithms-and-Data-Structures/src/master
(你也可以自己把 Integer 改成 int,具体实验试试看?)
继续加油!:)
相似问题