Java 已初始化的未初始化变量
有人知道我为什么会出现错误吗Java 已初始化的未初始化变量,java,Java,有人知道我为什么会出现错误吗变量“tree”可能尚未初始化 我的方法 public static TreeNode randomBST(TreeNode[] nodeArr) { TreeNode root = nodeArr[0]; TreeNode tree; for (int i = 1; i < nodeArr.length; i++) { tree = buildBST(root, nodeArr[i]);
变量“tree”可能尚未初始化
我的方法
public static TreeNode randomBST(TreeNode[] nodeArr) {
TreeNode root = nodeArr[0];
TreeNode tree;
for (int i = 1; i < nodeArr.length; i++) {
tree = buildBST(root, nodeArr[i]);
}
return tree;
}
publicstatictreenoderandombst(TreeNode[]noderar){
TreeNode root=noderar[0];
树形树;
for(int i=1;i
我的buildBST方法返回一个TreeNode对象
我可以通过分配
tree=null
来修复此错误。为什么我必须这样做,但如果我要初始化一个int
我不必这样做?这是因为int
能够分配已知数量的内存,而树
对象分配的内存量未知吗?编译器无法保证循环会被输入。因此,变量可能无法初始化。请给出一个示例,说明它在树
为int
时的工作方式。