我不是Java程序員,但必須做一些Java工作。從一些谷歌搜索,這似乎是一個匿名的子類。但是,對象之後是「[]」。但是,然後再聲明變量是一個對象。這只是與允許一個對象數組的最通用類型(Object)相反嗎?匿名數組的子類?我認爲?不明白這個語法
Object thing = new Object[] {someInt, anotherInt, someInterface, someString};
我不是Java程序員,但必須做一些Java工作。從一些谷歌搜索,這似乎是一個匿名的子類。但是,對象之後是「[]」。但是,然後再聲明變量是一個對象。這只是與允許一個對象數組的最通用類型(Object)相反嗎?匿名數組的子類?我認爲?不明白這個語法
Object thing = new Object[] {someInt, anotherInt, someInterface, someString};
編號數組是最終的,所以你不能繼承它們。該代碼只是創建一個對象數組Object[]
,並在創建時填充一些整數(自動綁定到Integer
),一個接口和一個字符串。
該示例的「奇怪」一點是它將Object[]
分配給Object
引用。現在所有的類都擴展了Object
,包括數組,所以這是有效的,但我無法想象任何情況下,如果有意使Object thing
而不是Object[] thing
,除非你故意不讓你的代碼變得清晰。
作爲一個sidenode,使用Object []存儲不同的類型並不是順利使用的最佳主意。 – SomeJavaGuy
是的,不是我的代碼。讀別人。雖然我猜想在這種情況下,將這些值傳遞給我們是一回事,但仍然有點冒失。 – lanza
@lanza我會認爲這是一個警告標誌。正如凱文所說,使用Object []'不是很流暢(這顯然是某種類),而Object的賦值只是增加了What Fudge因子。 – Kayaman