我不是Java程序员,但必须做一些Java工作。从一些谷歌搜索,这似乎是一个匿名的子类。但随后对象后跟" []"。但是再次声明变量是一个Object。这是否与允许对象数组的最通用类型(Object)相反?
Object thing = new Object[] {someInt, anotherInt, someInterface, someString};
答案 0 :(得分:6)
没有。数组是最终的,所以你不能将它们子类化。代码只是创建一个对象数组Object[]
,并在创建时填充一些整数(自动装箱到Integer
),一个接口和一个字符串。
关于该示例的“奇怪”事情是它将Object[]
分配给Object
引用。现在所有类都扩展Object
包括数组,所以这是有效的,但我无法想象除非你有意尝试,否则有Object thing
代替Object[] thing
是有意义的。使你的代码不那么清晰。