相关疑难解决方法(0)

为什么整数在Java中是不可变的?

我知道整数在Java中是不可变的.但为什么这样设计呢?

在提出这个问题之前,我通过了其他答案:

整数是不可改变的

i ++仍在为Java中的不可变Integer工作?

为什么Java包装类是不可变的?

但我找不到强制整数强制不变的用例.是否存在像String这样的技术原因?

  1. 字符串在网络连接,数据库URL等中用作参数.如果它是可变的,它很容易被破坏.
  2. 支持StringPool工具.
  3. 支持将字符串用作参数的类加载机制.字符串是可变的导致加载错误的类.

我知道有些包装就像AtomicInteger可变的一样.

更新:

从谈话中,没有普遍的理由可以强制整数是不可变的.然而,通过做不变,它提供了答案中提到的一些奖励.

比如安德烈的这句话

缓存的可能性.

其他人正在减少全球状态

更容易多线程

java integer immutability

13
推荐指数
2
解决办法
1万
查看次数

标签 统计

immutability ×1

integer ×1

java ×1