可以将原始值视为java中的对象吗?

mun*_*air 4 java object

当我开始使用Java时,我暗示我们有两种不同的类型:

Objects (strings, from classes, println, etc)
primitive values (int, double, char)
Run Code Online (Sandbox Code Playgroud)

我刚刚从教授那里得到了一个考试,这个差异意味着两个选择之间的差异作为答案.当我让我的教授澄清时,他告诉我原始价值观可以是对象.

谁就在这里,任何人都可以给我任何证据吗?证明是官方的声音,我会选择作为答案,并授予你一些众所周知的互联网.

T.J*_*der 10

基元不是对象.也就是说,一个int不是一个Integer.

然而,利用任何隐约-最近Java编译器,图元可以是自动盒装作为相关联的对象类型(intautoboxes如Integer)和自动装箱(Integerunboxes如int),和相关的图元(对象类型的实例Integer,Long等. )是不可变的(这对于像原始对应物一样重要),因此区别变得模糊.这可能是教授所暗示的.

也就是说,接受一个方法(例如)int可以给出一个Integer,编译器只是处理拆箱; 类似地,接受Object(映射到脑海中)的方法可以接受原语,并且编译器将其分成相应的对象类型.

  • @munchschair足够公平. (2认同)