String str1 = "hello";

String str2 = "hel" + new String("lo");

String str3 = "hel";

String str4 = "lo";

String str34 = str3 + str4;

String str5 = "hel" + "lo";

System.out.println(str1 == str2);

System.out.println(str1 == str34);

System.out.println(str1 == str5);

上述程序运行结果为:

false

false

true

说明: 当使用new时直接在堆中分配内存,str1是从字符串常量池中取出的,因此str1 == str2为false;str34 = str3 + str4先从字符串常量池中复制出str3和str4到堆中,在到堆中构造出str34;因此str1 == str34结果为false;str5 = "hel" + "lo"在编译时已知结果,str5为引用字符串常量池中的对象,所以str1 == str5结果为true

最新文章

  1. 获取UILabel宽度的方法
  2. Thread类的使用
  3. php匿名函数小示例
  4. vijos1194 Domino
  5. delphi xe5 android 关于文件大小的几个问答O(∩_∩)O~
  6. jquery判断页面滚动条(scroll)是上滚还是下滚
  7. OGR SQL
  8. koa2 use里面的next到底是什么
  9. applicationContext.xml最基本配置文件
  10. mybatis基础(中)
  11. chrome下调试安卓app 之 ionic
  12. np.array与np.ndarray区别
  13. adb shell命令行
  14. 控制input框只能粘贴,不能输入
  15. Linux date命令使用方法
  16. 开关电源五种PWM反馈控制模式
  17. Nginx浅析
  18. iOS动画1 — UIView动画
  19. sql sever跨数据库复制数据的方法
  20. Python 中的语句

热门文章

  1. C++ 获取指定的重载函数地址
  2. 【Redis】ziplist压缩列表
  3. Windows-VS2017创建.NET项目
  4. 监听 Markdown 文件并热更新 Next.js 页面
  5. 【Java面试】什么是 ISR,为什么需要引入 ISR
  6. Java实现无界面计算器
  7. 在项目中导入lombok依赖自动生成有参,无参 空参 方法的注解
  8. VMare 设置固定IP和网段
  9. 2022-07-09 第六组 润土 CSS学习笔记
  10. 如何优雅的升级 Flink Job?