Java中字符串常量相加
来源:互联网 发布:linux 下载工具 编辑:程序博客网 时间:2024/06/05 17:51
前几天写作业,遇到了一道很经典的基础题,在班群里还引起了一小波争论。经过一番探讨,得出了正确答案,所以记录一下~
问题很简单:
String str = “a” + “b” + “c”;
这段代码在运行时会产生多少个对象?
很明显”a”, “b”, “c”都是字符串常量,如果事先存在,是不会产生新对象的。
而Java编译器在编译期间就会将类似的代码优化为:
String str = “abc”;
所以,对于Java来说,如果事先没有定义内容为”abc”的String对象,那么将会产生一个对象。如果事先定义了相同内容的对象,那么新的str只是重复指向常量池中的”abc”,不会产生任何新的对象。
所以答案是一个。
0 0
- Java中字符串常量相加
- Java中字符串相加和字符串常量相加区别
- Java中字符串相加和字符串常量相加区别
- 为什么标准C++中两个直接字符串常量不能相加
- String字符串常量相加和new对象
- Java字符串相加
- java中字符串常量池的用法
- Java--变量相加和常量相加(类型转换)
- JAVA中,字符串相加不一定相等的原因
- Java中字符串常量和字符串变量的区别
- node.js中字符串相加还有html中字符串相加
- JavaScript中字符串相加性能
- java中大数相加
- java字符串相加的解析
- C中字符串常量
- JAVA 字符串常量池
- java字符串常量池
- java字符串常量池
- 有关AutoLayout的设计与实现
- 信息传播
- Git代码行统计命令集
- JQuery window、document、 body
- Nginx初探之二
- Java中字符串常量相加
- caffe中网络结构参数详解
- Learnning Dlib(六) Speeding up Dlib’s Facial Landmark Detector
- Windows7下安装和运行TensorFlow
- eclipse汉化方法
- 数据库表名、字段名限制长度
- 1528;匹配字符串(平顶山学院)
- Android中的各种样式的Dialog
- linux epoll示例