[英]When autoboxing, does a primitve type array autobox to an array of the Wrapper class for the primitve type?
雖然我過去在 Java 上過 2 門大學課,但我不記得了。 我已經在線研究了這個,但只能找到對每個原始類型的關聯 class 類型的引用,並且沒有具體指示原始類型 arrays 會發生什么。
Primitive Type Wrapper Class
boolean Boolean
byte Byte
char Character
short Short
int Integer
long Long
float Float
double Double
boolean[] ?
byte[] ?
char[] ?
short[] ?
int[] ?
long[] ?
float[] ?
double[] ?
我能想到的完全不提及它的唯一原因是沒有區別:例如, char[]
變成Character[]
。 但是,如果我沒記錯的話,有數組包裝器(例如CharArray
;盡管我不記得這些是否是實現定義的)。 然而,對於自動裝箱char[]
最有意義的是String
,就像在其他語言中一樣。
因此,例如,如果該方法采用Object
, char[]
會變為Character[]
、 CharArray
或String
嗎? 它可以取決於情況(重載方法)嗎? 例如,對於采用Object
的方法,它在該方法中變為CharArray
,但如果String
存在重載,則它會改用該方法。
評論中提到 Oracle 沒有提供原始類型(例如CharArray
或IntegerArray
)的 arrays。因此我想知道是否有一個實現定義的自動裝箱優先級系統,或者原始類型和原始類型的自動裝箱鍵入 arrays 與采用Object
的方法一起使用始終是相同的。
在伊拉斯姆斯大學學習計量經濟學期間,作為一名助教,我與我的編程老師一起編寫了這份 Java 編程指南。 它指出有 8 個原始變量,即列表頂部的八個。 Arrays 不是原始的,因此不能自動裝箱。
然后,本段解釋了您需要了解的有關自動裝箱的所有信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.