java final可以修饰String吗?

我们知道String对象是不可变的,是指String内部的东西是不变的

String a = "xxx";

这里a还是可以重新引用别的:a = "yyy";

但是加上final修饰:

final String a = "xxxx";

这时就不可以:a = "yyy";

总结一下:final是让被修饰的变量,不能再引用别的变量

final修饰的变量就是常量,是放在特定存储区域的,类常量一般要加static

比如:final修饰的hashmap,内部可以修改,可以添加元素,但是这个变量不能被赋值,也就是引用不能变了

很有意思的事情:

java中,final 修饰的String 变量与未修饰的String变量的区别

http://blog.csdn.net/linbilin_/article/details/51840089

原文地址:https://www.cnblogs.com/brainstorm/p/7612034.html