簡體   English   中英

自動裝箱時,原始類型數組是否自動裝箱到原始類型的包裝器 class 的數組?

[英]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 ,就像在其他語言中一樣。

因此,例如,如果該方法采用Objectchar[]會變為Character[]CharArrayString嗎? 它可以取決於情況(重載方法)嗎? 例如,對於采用Object的方法,它在該方法中變為CharArray ,但如果String存在重載,則它會改用該方法。

評論中提到 Oracle 沒有提供原始類型(例如CharArrayIntegerArray )的 arrays。因此我想知道是否有一個實現定義的自動裝箱優先級系統,或者原始類型和原始類型的自動裝箱鍵入 arrays 與采用Object的方法一起使用始終是相同的。

在伊拉斯姆斯大學學習計量經濟學期間,作為一名助教,我與我的編程老師一起編寫了這份 Java 編程指南 它指出有 8 個原始變量,即列表頂部的八個。 Arrays 不是原始的,因此不能自動裝箱。

然后,本段解釋了您需要了解的有關自動裝箱的所有信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM