在Java中,当我们将一个对象分配给匹配类类型的变量时,该变量只包含对存储对象所在的内存位置的引用。
情况是否与原始数据类型相同?
我的意思是,在int i = 10;
中,我是否存储了存储值10的内存位置的地址?
答案 0 :(得分:1)
在Java中,所有内容都按值存储。与基元相对应的Object
类型的值是引用。 注意包装类型(如Integer
)对低值执行常量实习。
答案 1 :(得分:-2)
实际上,在Java中,基元总是由值处理,对象总是通过引用来处理。但请注意,这些是语义;即,Java代码的含义应该是什么。 Java的一个特定实现(即JVM)可以自由地管理内存,但它在内部是喜欢的,只要它看起来服从任何可以观察到的东西的正确语义(即程序的输出)。
你的PS评论也是正确的。