java中的immutable和final之间有什么区别?

前端之家收集整理的这篇文章主要介绍了java中的immutable和final之间有什么区别?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我最近被问到这个问题.但是无法简明扼要地说明这两个概念是如何分开的. @H_404_2@例如

@H_404_2@最后和不变:

final String name = "John";
@H_404_2@如果我现在写

name = "Sam";
@H_404_2@我会得到编译器错误

@H_404_2@一成不变的:

String name = "John";
name = "Sam";
@H_404_2@有用.

@H_404_2@我认为这是在应用中的一部分.但是我可以在这两个主题上得到一个很好的,容易理解的解释吗?

解决方法

final意味着您不能将对象的引用更改为指向另一个引用.其中immutable意味着实际对象的值不能被更改,但是可以将其引用改为另一个. @H_404_2@关于您的问题的第二部分(不可变部分),编译器将创建一个值为“Sam”的新的String对象,并将其引用给它.

原文链接:https://www.f2er.com/java/122868.html

猜你在找的Java相关文章