以下表达式编译:
Object oa = new float[20];
Run Code Online (Sandbox Code Playgroud)
这个表达式有效吗?
根据我的观点,正确的语法将是
Object [] oa = new float[20];
Run Code Online (Sandbox Code Playgroud)
JB *_*zet 33
数组是Java中的对象.因此浮点数组是一个对象.
BTW Object o = new Object[20];也是有效的,因为对象数组是一个对象.
另请注意,这Object[] oa = new float[20];是无效的,因为原始浮点数不是对象,因此浮点数组不是对象数组.什么是正确的
Object[] oa = new Float[20];
Run Code Online (Sandbox Code Playgroud)
关于数组,因为它们是对象,所以它们具有java.lang.Object的所有方法.它们还具有public final属性length,它们是Cloneable和Serializable:
Object o = new float[20];
System.out.println("o instanceof Serializable = " + (o instanceof Serializable)); // true
System.out.println("o instanceof Cloneable = " + (o instanceof Cloneable)); // true
Run Code Online (Sandbox Code Playgroud)