-
ืื ืงืจื
autoboxing
?ืืืจืืฃ ืืืืืืื ืืื ืื ืื ืื ืืืชืืื ืืจืืื ืฉื ืืืืืืงืืื ืฉื ืืืืงืืช ืืขืืคืช (ืืืื, ืงืฆืจ, ืชืืืื, ืืกืคืจ ืฉืื, ืืจืื, ืฆืฃ, ืืคืื) ืขื ืืขืจืืื ืฉื ืืกืืืื ืืคืจืืืืืืืืื ืืืงืืจืืื ืืืชืืืืื ืืื (ืืืชืืื, , , , , , , ,
byte
)short
,char
ืืืint
. ืฉืืืืฉlong
ืืคืืจืฉ ืืื ืื ืืืืืงื.float
double
ืืืืืืืงืก ืืชืจืืฉ ืืืฉืจ ืคืจืืืืืืื ืืืงืฆื ืืฉืืจืืช ืืืืืงืช ืขืืืคื (ืืืืฆืขืืช
=
ืืืืคืจืืืจ " "), ืื ืืืฉืจ ืคืจืืืืืืื ืืืขืืจ ืืคืจืืืจืื ืฉื ืฉืืื (ืืืื "ืืืืงื ืขืืืคื"). ืฉื ื ืืฉืชื ืื ืืกืืืื ืคืจืืืืืืืืื ืืงืืืขื ืืื ืงืืืคืืืฆืื (ืืืืืืืื ืfinal
-ืคืจืืืืืืืืื) ื ืืชื ืื ืืืจืืื ืืืืืืืืช ื"ืืืืงืืช ืขืืืคื". ืืืงืจื ืื, ืืืืืืืืช ืืืืืืช ืืืืืช ื ืืื ืืช ืชืืืืจืืช ืืื ืืืชืื ืืฉืชื ื ืืืกืื ืืคืจืืืืืืื ืืืงืืจื.ืืืกืื ืืืืืืื ืฉื ืืฉืชื ืื ืืกืืืื ืคืจืืืืืืืืื ืืืจืฉ ืืชืืื ืืืืืงืช ืืกืื ืืคืจืืืืืืื ืืืงืืจื - ืกืื "ืืืืงืช ืืขืืืคื". ืืืืืื, ื ืืกืืื ืืชืจืื ืืืืืืืืช ืืฉืชื ื ืืกืื
byte
ืืชืืShort
, ืืืื ืืืฆืข ืชืืืื cast ืืคืืจืฉ,byte->short
ืืืจืื ืืฉืืืืช ืงืืืคืืืฆืื.ืืืืืืืงืก ืฉื ืงืืืขื ืกืื ืคืจืืืืืืืืื ืืืคืฉืจ ืืืืืืช ืืชืืื ืจืืืื ืืืชืจ. ืืืงืจื ืื, ืืืืืจ ืืกืืื ืืืฆืข ืืจืืื/ืฆืืฆืื ืืจืืืืื ืฉื ืืืคืืกืื ืคืจืืืืืืืืื ืืจืืฉ. ืืฉืื ืื ืืชืจืืฉ ืืฉื ื ืฉืืืื:
-
ืืจืืื ืืจืืืืช (ืฆืืฆืื) ืฉื ืืกืื ืืคืจืืืืืืื ืืืงืืจื ืืกืื ืืคืจืืืืืืื ืืืชืืื ืืืืืงืช ื-wrapper (ืืืืจื
int->Byte
, ืจืืฉืืช ืืืืืจ ืืฆืืืฆื ืืืืคื ืืจืืืint
ื-byte
) -
ืืจืืื ืืืืืืืืช ืฉื ืคืจืืืืืืื ื"ืืืืงืช ืืขืืืคื" ืืืชืืืื (ืืืืืจ ืืืจื ืืืืืืืืช
byte->Byte
). ืขื ืืืช, ืืืงืจื ืื ืืฉื ื ืฉืชื ืืืืืืช ื ืืกืคืืช: -
ืืงืฆืืช ืคืจืืืืืืื ื"ืขืืืคื" ืืืืื ืืืชืืฆืข ืจืง ืืืืฆืขืืช
=
ืืืืคืจืืืจ " " (ืื ื ืืชื ืืืขืืืจ ืคืจืืืืืืื ืืื ืืคืจืืืจืื ืฉื ืฉืืื ืืื ืืืืืง ืกืื ืืคืืจืฉ) -
ืกืื ืืืืคืจื ื ืืฉืืืื ืื ืืืื ืืืืืช ืืฉื ืืืชืจ ื
Character
, ืกืื ืืืืคืจื ื ืืืื ื ืื ืืืื ืืืืืช ืืฉื ืืืชืจ ืint
, (ืืืชืจืช ืืจืืื/ืืชืืืืฆืืชbyte <-> short
,byte <-> char
,short <-> char
ืืจืง ืฆืืฆืืbyte <- int
,short <- int
,char <- int
, ืื ืฉืืจ ืืืคืฉืจืืืืช ืืืจืฉืืช ืืืืืง ืกืื ืืคืืจืฉ)
ืชืืื ื ื ืืกืคืช ืฉื "ืืืืงืืช ืขืืืคื" ืฉื ืืกืคืจืื ืฉืืืื ืฉื ืืฆืจื ืขื ืืื ืงืืืขื ืืืจืืฃ ืืืืืืื ืืืืื -128 +127 ืืื ืฉืื ื ืฉืืจืื ืืืืืื ืขื ืืื ื-JVM. ืืื, ืขืืืคืืช ืืืื ืขื ืืืชื ืขืจืืื ืืืื ืืคื ืืืช ืืืืืืืงื ืืื.
-
-
ืืื ืืฉืชืืฉืื ืื
autoboxing
?ืืฆืื ืืช ืืืจืฆืื:
ืืืืืจ, ืื'ืืืื ืืฉ ืฉื ื ืืืคืืกืื ืฉืขืืจื ืืืจืืฉื ืืืืืืงื
Object
ืืกืืืื ืคืจืืืืืืืืื. ืืื, ืืคื ืฉืืชืืจืจ, ืืืจ ื ืื ืืื ืืืกืคืื ืืื ืจืืืช ืืืื ืืขืืื ืจืง ืขื ืกืืืื ืฉืืืขืืจื ืืืจืืฉืObject
. -
ะะปััะตัะฝะฐัะธะฒั
autoboxing
?ะะต ะฝะฐัะตะป ะพัะฒะตัะฐ, ะฝะพ ะทะฐะฟะพััะธะป ะฝะฐ StackOverFlow.
ะัั ะพะดั ะธะท ััะพะน ะดะธัะบัััะธะธ, ะฟะพะปััะฐะตััั, ััะพ ะฐะปััะตัะฝะฐัะธะฒะฐ
autoboxing
`ั ััะพ ะธัะฟะพะปัะทะพะฒะฐะฝะธะต ะฟัะธะผะธัะธะฒะฝัั ัะธะฟะพะฒ, ัะฐะบ How ะธัะฟะพะปัะทะพะฒะฝะธะตautoboxing
`a ัะฝะธะถะฐะตั ะฟัะพะธะทะฒะพะดะธัะตะปัะฝะพััั. ะัะฒะพะด: ะธัะฟะพะปัะทะพะฒะฐััautoboxing
ัะพะปัะบะพ ัะฐะผ ะณะดะต ััะพ ะฝะตะพะฑั ะพะดะธะผะพ.ะะฐะฟะธัะฐะฝะฐ ััะฐััั ะฟัะพ
Autoboxing
: Autoboxing: Traps and Advantages -
ะขะธะฟั-ะพะฑะตััะบะธ ะดะปั ะฟัะธะผะธัะธะฒะฝัั ัะธะฟะพะฒ
mutable
orimmutable
?Immutable
, ัะฐะบ How ะฟัะธะผะธัะธะฒะฝัะต an objectั ัะพะถะตimmutable
. Whatะฑั ัะฐะฑะพัะฐัั How ัMutable
ัะธะฟะพะผ ะตััั ะบะปะฐััMutableInteger
, ะธ.ั.ะด. -
ะะฐะบ ะฟัะธะผะธัะธะฒะฝัะต ัะธะฟั ะฟัะธะฒะพะดัััั ะบ ะฝะตะฟัะธะผะธัะธะฒะฝัะผ ะฐะฝะฐะปะพะณะฐะผ?
ะะฐ ััะพั ะธ ะฟะพัะปะตะดัััะธะน ะฒะพะฟัะพัั ั ะพัะพัะพ ะพัะฒะตัะฐะตั ะฒะพั ััะฐ ััะฐััั: ะะฒัะพัะฟะฐะบะพะฒะบะฐ ะธ ัะฐัะฟะฐะบะพะฒะบะฐ ะฒ Java
ะญัะพ ะทะฐะบะปััะตะฝะธะต ะธะท ะฝะตะต: ะฐะฒัะพัะฟะฐะบะพะฒะบะฐ ัะฒะปัะตััั ะผะตั ะฐะฝะธะทะผะพะผ ะดะปั ัะบัััะพะณะพ ะฟัะตะพะฑัะฐะทะพะฒะฐะฝะธั ะฟัะธะผะธัะธะฒะฝัั ัะธะฟะพะฒ ะดะฐะฝะฝัั ะฒ ัะพะพัะฒะตัััะฒัััะธะต ะบะปะฐััั-ะพะฑะพะปะพัะบะธ (an objectั). ะะพะผะฟะธะปััะพั ะธัะฟะพะปัะทัะตั ะผะตัะพะด
valueOf()
ััะพะฑั ะฟัะตะพะฑัะฐะทะพะฒะฐัั ะฟัะธะผะธัะธะฒะฝัะต ัะธะฟั ะฒ an objectั, ะฐ ะผะตัะพะดัIntValue()
,doubleValue()
ะธ ั.ะด., ััะพะฑั ะฟะพะปััะธัั ะฟัะธะผะธัะธะฒะฝัะต ัะธะฟั ะธะท an object (ัะพ ะตััั ะพะฑัะฐัะฝะพะต ะฟัะตะพะฑัะฐะทะพะฒะฐะฝะธะต). ะะฒัะพัะฟะฐะบะพะฒะบะฐ ะฟัะตะพะฑัะฐะทัะตั ะปะพะณะธัะตัะบะธะน ัะธะฟboolean
ะฒBoolean
,byte
ะฒByte
,char
ะฒCharacter
,float
ะฒFloat
,int
ะฒInteger
,long
ะฒLong
,short
ะฒShort
. ะ ะฐัะฟะฐะบะพะฒะบะฐ ะฟัะพะธัั ะพะดะธั ะฒ ะพะฑัะฐัะฝะพะผ ะฝะฐะฟัะฐะฒะปะตะฝะธะธ. -
ะะฐะบ ะฝะตะฟัะธะผะธัะธะฒะฝัะต ัะธะฟั ะฟัะธะฒะพะดัััั ะบ ะฟัะธะผะธัะธะฒะฝัะผ?
ะััะต ะพัะฒะตัะธะป.
-
ะะฐะบ ััะฐะฒะฝะธะฒะฐัััั ะฟัะธะผะธัะธะฒะฝัะต ะธ ะฝะตะฟัะธะผะธัะธะฒะฝัะต ัะธะฟั?
ะ ะปะตะบัะธะธ ััะพ ะฟะพะดัะพะฑะฝะพ ัะฐััะผะฐััะธะฒะฐะตััั, ะฝะพ ั ะฝะฐัะตะป ัะฐะบ ัะบะฐะถะตะผ ัะพะถะต ัะฐะผะพะต, ะฝะพ ะดััะณะธะผะธ ัะปะพะฒะฐะผะธ.
ะ Java ะตััั ะดะฒะฐ ัะฟะพัะพะฑะฐ ััะฐะฒะฝะธะฒะฐัั an objectั ะฝะฐ equalsััะฒะพ,
==
ะธ ะผะตัะพะดequals()
.==
ะธัะฟะพะปัะทัะตััั ะดะปั ะฟัะธะผะธัะธะฒะฝัั ัะธะฟะพะฒ. ะะปั an objectะพะฒ ยซ==
ยป ััะพ ะธัะบะปััะธัะตะปัะฝะพ ััะฐะฒะฝะตะฝะธะต ัััะปะพะบ. ะะปั ะพััะฐะปัะฝัั ัะปััะฐะตะฒ ะฝัะถะฝะพ ะธัะฟะพะปัะทะพะฒะฐัั ะผะตัะพะดequals()
. ะัะพะผะต ัะพะณะพ ะผะตัะพะดhashCode()
ัะปัะถะธั (ะฒ ัะตะพัะธะธ) ะดะปั ัะพะน ะถะต ัะตะปะธ. ะฅะพัะพัะธะผ ัะพะฝะพะผ ััะธัะฐะตััั, ะตัะปะธ ะฒั ะฟะตัะตะพะฟัะตะดะตะปorequals()
ะธhashCode()
. ะะพัะปะต ะธะฝะธัะธะฐะปะธะทะฐัะธะธ ะฝะตะบะธั an objectะพะฒ a ะธ b ะดะพะปะถะฝะพ ะฒัะฟะพะปะฝััััั ะฟัะฐะฒะธะปะพ:ะัะปะธ ะฒััะฐะถะตะฝะธะต
a.equals(b)
ะฒะตัะฝะตั true, ัะพa.hashCode()
ะดะพะปะถะตะฝ ะฑััั equalsb.hashCode()
. -
ะัะตะณะดะฐ ะปะธ ัะพะทะดะฐะตััั ะฝะพะฒัะน an object ะฟัะธ ะพะฟะตัะฐัะธะธ
autoboxing
?ะญัะพ ะฒ ะปะตะบัะธัั ะตััั:
ะะพะณะดะฐ ะผั ะฟัะธัะฒะฐะธะฒะฐะตะผ ะฟะตัะตะผะตะฝะฝะพะน ัะธะฟะฐ Integer meaning ัะธะฟะฐ
int
, ะฟัะธ ััะพะผ ะฒัะทัะฒะฐะตััั ะผะตัะพะดInteger.valueOf
: ััะฝะบัะธัvalueOf
ะฝะต ะฒัะตะณะดะฐ ัะพะทะดะฐะตั ะฝะพะฒัะน an object ัะธะฟะฐ Integer. ะะฝะฐ ะบััะธััะตั ะทะฝะฐัะตะฝะธั ะพั -128 ะดะพ 127.ะัะปะธ ะฟะตัะตะดะฐะฒะฐะตะผะพะต meaning ะฒัั ะพะดะธั ะทะฐ ััะธ ะฟัะตะดะตะปั, ัะพ ะฝะพะฒัะน an object ัะพะทะดะฐะตััั, ะฐ ะตัะปะธ ะฝะตั, ัะพ ะฝะตั.
ะัะปะธ ะผั ะฟะธัะตะผ
new Integer()
, ัะพ ะณะฐัะฐะฝัะธัะพะฒะฐะฝะฝะพ ัะพะทะดะฐะตััั ะฝะพะฒัะน an object. ะัะปะธ ะผั ะฒัะทัะฒะฐะตะผInteger.valueOf()
, ัะฒะฝะพ or ะฟัะธautoboxing
, ัะพ ััะพั ะผะตัะพะด ะผะพะถะตั ะฒะตัะฝััั ะดะปั ะฝะฐั How ะฝะพะฒัะน an object, ัะฐะบ ะธ ะพัะดะฐัั an object ะธะท ะบััะฐ, ะตัะปะธ ะฟะตัะตะดะฐะฝะฝะพะต ัะธัะปะพ ะปะตะถะธั ะฒ ะดะธะฐะฟะฐะทะพะฝะต ะพั -128 ะดะพ 127. -
ะะฐะบ ัะฐะฑะพัะฐะตั ะบััะธัะพะฒะฐะฝะธะต ะฟัะธ ะพะฟะตัะฐัะธะธ
autoboxing
?ะัะฒะตัะธะป ะฒ ะฒะพะฟัะพัะต ะฒััะต, ะฝะฐ ะฒััะบะธะน ัะปััะฐะน ัะพะทะดะฐะป ะฒะพะฟัะพั ะฝะฐ StackOverFlow, ะฝะพ ัะฐะผ ะพัะฒะตัะฐัั ัะพะถะต ัะฐะผะพะต
-
ะะปั Howะธั ัะธะฟะพะฒ ะธ/or ะทะฝะฐัะตะฝะธะน ัะฐะฑะพัะฐะตั ะบััะธัะพะฒะฐะฝะธะต?
ะ ะฒะพััะผะพะผ ะฒะพะฟัะพัะต. ะัะปะธ ั ะบะพะณะพ โ ัะพ ะตััั ัะพะพะฑัะฐะถะตะฝะธั ะฝะฐ ัะตะผั ััะตั ะฟะพัะปะตะดะฝะธั ะฒะพะฟัะพัะพะฒ, ัะพ ะฝะฐะฟะธัะธัะต ะฒ ะบะพะผะผะตะฝัะฐัะธัั .
JavaRush
/ืืืื Java
/Random-HE
/ืจืื 29. ืชืฉืืืืช ืืฉืืืืช ืจืืืื ืื ืืฉื ืืจืื
DefNeo
ืจึธืึธื
GO TO FULL VERSION