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

为什么整数在Java中是不变的?,第1张

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

您不会找到

java.lang
包装必须是 不可变 的强制性原因。只是因为 这是设计决定 。他们本可以做出其他决定。语言设计师必须在 可变
不变 之间做出选择。他们选择了 不变的 。而已。

有一些 令人信服的 (IMO)原因尽管使它们 不可变

与一致

String
。您所提供的同样的道理
String
不变的 适用于
Integer
等,以及(如想在属性映射端口号)。 这通常适用于
任何 可变类型

不可变 类型排除了许多难以发现的错误,因为人们可以通过修改通过 吸气剂 获得的值来不由自主地更改对象成员值。 当类型 不可变
时,它可以节省大量防御性复制 。最臭名昭著的示例是

java.util.Date
,通常很难使用,因为它是 易变的 (撇开API问题)。

不可变类型还允许使用共享实例,例如

Integer
常用值的用法(请参阅参考资料
Integer.valueOf(int)
)。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5486971.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存