Java语言规范的4.2节 指出,“原始价值不与其他原始价值共享状态”。这到底是什么意思?
Java语言规范的4.2节 指出,“原始价值不与其他原始价值共享状态”。这到底是什么意思?
我怀疑它正在区分基元和引用类型 - 在后一种情况下,两个值(引用)都可以引用同一个对象。如果你有两个 原始 变量,你无法做任何会影响另一个的变量。
然而,它的措辞并不是非常明显,因为即使使用引用类型,值本身(引用)也不共享状态;特别是,更改一个引用类型变量的值不会更改另一个变量的值...它是对象本身的状态,它是具有相同值的共享“via”变量。
这意味着基本类型的每个值在内存中占据其自己的空间,表示不能与其他值共享的状态。换句话说,您不能以任何方式直接或通过复合赋值运算符更改变量的状态或基本类型的字段。
这与参考类型形成对比,参考类型可以通过“指向”同一对象来共享或不共享状态。您可以通过操作不同的变量来更改参考对象。