有人知道为什么我收到错误Variable 'tree' might not have been initialized
我的方法
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;
}
我的buildBST方法返回一个TreeNode对象。
我可以通过分配tree = null
来解决此错误。为什么我必须这样做,但如果我要初始化int
我不需要?是因为int
能够分配已知量的内存,而tree
对象是未分配的内存量吗?
答案 0 :(得分:1)
无法保证编译器始终输入循环。因此,可能无法初始化变量。