以下表达式编译:
Object oa = new float[20];
这个表达式有效吗?
根据我的观点,正确的语法是
Object [] oa = new float[20];
答案 0 :(得分:33)
数组是Java中的对象。因此浮点数组是一个对象。
BTW,Object o = new Object[20];
也有效,因为对象数组是一个对象。
另请注意Object[] oa = new float[20];
无效,因为原始浮点数不是对象,因此浮点数组不是对象数组。什么是正确的
Object[] oa = new Float[20];
关于数组,因为它们是对象,所以它们具有java.lang.Object的所有方法。它们还有一个公共最终属性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
答案 1 :(得分:3)
基本上,Object
是Java中所有对象的超类。因此,引用Object
类然后将其用作任何其他对象是有效的。
Object ob = new Integer(5);
Java中的数组只是对象,因此可以为Object
类的引用分配一个数组。