Java基础知识释疑

  笔记:

  1.String类没有提供用于修改字符串的方法,所以String类对象被称为不可变字符串。这样的设定是否会降低运行效率呢?看起来好像修改一个代码单元要比创建一个新字符串更加简洁。答案是也对也不对。不可变字符串有一个优点:编译器可以让字符串共享。Java设计者认为共享带来的高效率远远胜于提取、拼接字符串所带来的低效率。

  2.判断字符串是否相等,使用equals,如s.equals(t)。尽量不要使用==运算符检测两个字符串是否相等。因为==运算符只能确定两个字符串是否放置在同一个位置上。如果虚拟机始终将相同的字符串共享,就可以使用==来检测是否相等。但实际上只有字符串常量是共享的,而+或substring等操作产生的结果并不是共享的。因此,使用==检测两个字符串是否相等容易出现随机bug。

原文地址:https://www.cnblogs.com/zoe-yan/p/12418602.html