String String Java

 

https://www.jianshu.com/p/e494552f2cf0

 

知识点(纯干货):

  • 单独使用""引号创建的字符串都是直接量,编译期就已经确定存储到常量池中;
  • 使用new String("")创建的对象会存储到堆内存中,是运行期才创建;
  • 使用只包含直接量的字符串连接符如"aa" + "bb"创建的也是直接量编译期就能确定,已经确定存储到常量池中(str2和str3);
  • 使用包含String直接量(无final修饰符)的字符串表达式(如"aa" + s1)创建的对象是运行期才创建的,存储在堆中;
  • 通过变量/调用方法去连接字符串,都只能在运行时期才能确定变量的值和方法的返回值,不存在编译优化操作.

 

String对象的空值

一种是表示引用为空(null)的空值:

String str1 = null;  // 没有初始化,没有分配内存空间

另外一种表示内容为空的空值:

String str2 = ";  // 分配有内存空间,有内容。

所以当你需要判断字符串是否为空的时候,实际上应该这样:


 
判断字符串非空


作者:我没有三颗心脏
链接:https://www.jianshu.com/p/e494552f2cf0
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
posted @ 2020-08-03 09:28  wenniyson  阅读(40)  评论(0)    收藏  举报