Java学习笔记(二十):关于String类为什么是final
2016-07-06 14:14
525 查看
将String类设计成final,这样String类就不能被继承了,同时String类里面的方法都隐式地变为final方法,网上有一句话是这样说的“final修饰string类,表示所有string类的方法就是final的,所以在调用string方法的时候就会被jvm优化为内联函数,可以提高效率。”其实在最新的java中,已经不需要这样来优化程序了
既然String是final,为什么还可以改变String的值呢?
那是因为String只是定义了一个引用,final修饰了String后,String的指向不能变,但是指向的内容是可以变的。如下:
但是如果是基本数据类型,那么定义为final,就不能改变其值了 ,如下所示:
既然String是final,为什么还可以改变String的值呢?
那是因为String只是定义了一个引用,final修饰了String后,String的指向不能变,但是指向的内容是可以变的。如下:
String str = "123"; str = "234";//这样是可行的
但是如果是基本数据类型,那么定义为final,就不能改变其值了 ,如下所示:
final int a = 12; a = 13;//会提示错误
相关文章推荐
- spring 自定义注解整理 篇二
- 命令行运行jar 并传参数
- Java流程控制之选择结构
- java jvm 参数 -Xms -Xmx -Xmn -Xss 调优总结
- spring @Qualifier 注解
- java jvm 参数 -Xms -Xmx -Xmn -Xss 调优总结
- Java类型限界
- RxJava 驯服数据流之时间平移
- Eclipse 添加 CVS
- Spring@Autowired注解与自动装配
- Java Web知识结构
- Eclipse常用快捷键
- Java Web开发资料
- java对象拷贝——PropertyUtils.copyProperties()用法和性能
- java必备基础知识点
- Java中的剪切板操作
- java的数字精确计算问题-BigDecimal
- java字符串String(一)
- spring 事务机制总结
- ?【Leetcode】67. Add Binary