任何人都可以解释为什么我会收到不兼容的类型错误并且应该
如果 ref[0]
已经是对象数组(class [Ljava.lang.Object;
)
Object[]
public class Test {
public static void main(String args[]) {
Object[] ref = new Object[1];
Object[] x = new Object[]{1};
while (true) {
ref[0] = new Object[]{ref};
System.out.println(ref[0].getClass()); //class [Ljava.lang.Object;
ref = ref[0]; // incompatible type error
}
}
}
最佳答案
在编译阶段,ref[0]
的数据类型是Object
,ref
的数据类型是Object[ ]
。
Object
和 Object[]
不是同一类型。
关于java - 为什么要强制转换为同一类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50085404/