Java中字符串相加和字符串常量相加区别
来源:互联网 发布:php实现任务队列 编辑:程序博客网 时间:2024/05/22 04:57
String aa = "ab"; String cc ="ab"; String bbb = "b"; String bb = "a" + bbb; //变量相加不等 String dd="a"+"b";//常量相加 System.out.println(aa == bb);//result=false System.out.println(aa==cc);//true System.out.println(aa==dd);//true System.out.println(aa.equals(bb));//true
第一种情况:至今在常量池中相加,及还是在栈区中进行
第二种情况:对于上述情况,若str1,str2采用String定义,拼接时需要额外创建一个StringBuffer(或StringBuilder),之后将StringBuffer转换为String,在此处new了一个对象,因此实在堆区中进行的
因此答案就很清楚了,一个在栈区一个堆区,最后结果不可能一样
还有记住一点:String是一个常量,一旦初始化,不会再改变。
参考:http://blog.csdn.net/shandalue/article/details/44020631
阅读全文
1 0
- Java中字符串相加和字符串常量相加区别
- Java中字符串相加和字符串常量相加区别
- Java中字符串常量相加
- String字符串常量相加和new对象
- 变量相加和常量相加的区别
- 变量相加和常量相加的区别
- Java字符串相加
- 为什么标准C++中两个直接字符串常量不能相加
- 字符串相加
- 字符串相加
- 字符串相加
- 字符串相加
- 字符串相加
- node.js中字符串相加还有html中字符串相加
- JavaScript中字符串相加性能
- java字符串相加的解析
- Java语言基础面试题之变量相加和常量相加的区别
- java语言基础(9)——变量相加和常量相加的区别
- hadoop异常: Wrong FS: hdfs://192.168.1.xx:9000/output, expected: file:///
- 加密解密(一)——预备知识(概念)
- 正则表达式30分钟入门教程
- Java Review
- 关于嵌套循环效率研究
- Java中字符串相加和字符串常量相加区别
- Rust基础语法概念学习
- Vue +Node +Mysql 从简至全(二)
- LINTCODE——最大子数组III
- CodeIgniter 入门实践(新闻系统)
- 登录(学习笔记)
- Python 开发者面向文档编程的正确姿势
- 监听网络状态
- 畅通工程续——最短路