关于String类为什么是final
2018-03-28 15:27
204 查看
将String类设计成final,这样String类就不能被继承了,同时String类里面的方法都隐式地变为final方法,网上有一句话是这样说的“final修饰string类,表示所有string类的方法就是final的,所以在调用string方法的时候就会被jvm优化为内联函数,可以提高效率。”其实在最新的java中,已经不需要这样来优化程序了
既然String是final,为什么还可以改变String的值呢?
那是因为String只是定义了一个引用,final修饰了String后,String的指向不能变,但是指向的内容是可以变的。如下:
2
但是如果是基本数据类型,那么定义为final,就不能改变其值了 ,如下所示:
既然String是final,为什么还可以改变String的值呢?
那是因为String只是定义了一个引用,final修饰了String后,String的指向不能变,但是指向的内容是可以变的。如下:
String str = "123"; str = "234";//这样是可行的1
2
但是如果是基本数据类型,那么定义为final,就不能改变其值了 ,如下所示:
final int a = 12; a = 13;//会提示错误
相关文章推荐
- Java学习笔记(二十):关于String类为什么是final
- 为什么jdk中把String类设计成final
- 在java中String类为什么要设计成final?
- String类为什么是final的
- String类为什么是final的。
- 为什么jdk中把String类设计成final?
- 关于java匿名内部类参数为什么要用final修饰的问题
- 在java中String类为什么要设计成final?
- 为什么jdk中把String类设计成final?
- String类为什么是final的
- 为什么把String类设置为final的
- java String类为什么是final的
- String类为什么是final
- String类为什么是final的
- String类为什么是final的?
- String类为什么要设计成final修饰的
- 为什么jdk中把String类设计成final?
- String类为什么是final
- JDK中String类为什么设计成final类型的
- java中String类为什么要设计成final