美文网首页
Java | 空字符串和null

Java | 空字符串和null

作者: EclipseO2 | 来源:发表于2017-12-17 16:35 被阅读21次

空字符串

  • 类型: "" 是一个空字符串,长度为0,在内存中分配一个空间,可以使用 Object 对象中的方法。例如"".toString()
  • 内存分配Stirng str = "":表明声明一个字符串类型的引用,其值""为空字符串,这个 str 引用指向的是空字符串 "" 的内存空间

null

  • 类型:null 表明一个对象的值,不是一个字符串,并没有分配内存,比如String str = null
  • 内存分配String str = null:表明声明一个字符串对象的引用,但其指向一个null,也就是说没有指向任何内存空间
String str1 = ""     // str对应一个空串,声明对象的引用
String str2 = null   // str2引用为空
String str3 = new String()      //str3指向具体的String实例, 默认为""

**注意**:str1和str3都被实例化,都指向了内存中的空间,虽然str1和str2指向的地址不一样,但是值是一样的,都是"",而str2没有被实例化

比较

由于 null 不是对象,"" 是对象,所以比较的方式是

str1.equals("")     //对象用equals方法来比较
str2 == null        //null用==来比较

总结

  1. Java中有两种比较大小的方式:==equals方法,前者是根据地址来比较,只有地址和值都相等,则两者才相等;后者则是根据变量的值比较大小,只要值相等,两者便相等。
  2. 在Java中变量和变量引用都是存在栈 (stack) 中,而对象 (new出来的)都是存放在堆 (heap) 中的,例如:
    String a = new Stirng("ABC") //a存放在栈中,而ABC这个值存放在堆中,a指向ABC在堆中的地址

相关文章

  • kotlin之对比学习

    常量与变量 java kotlin null声明 java kotlin 空判断 java kotlin 字符串拼...

  • 四月三周技术复盘

    sql的NULL和空字符串 类似于java的NULL和空字符串,NULL表示没有值,空字符串表示值为空字符串,完全...

  • null和undefined的区别

    null和undefined null: 空,没有undefined: 未定义,没有'': 空字符串,没有0: 也...

  • Java判断字符串为空和null

    这个是做Java开发最经常遇到的问题,然而很多人的判断方法并不是正确的,给出几个常见案例,再提出我的个人方法吧。 ...

  • Java中null+""和null+null

    Java中null+""输出的字符串仍是null,但是字符串形式的null,而且length是4个; “”+nul...

  • Java判断字符串是否为空

    思路:判断某字符串是否为空,为空的标准是str==null或str.length()==0一.空字符串与null区...

  • Kotlin系列之Kotlin与Java语法区别

    打印日志 Java Kotlin 常量与变量 Java Kotlin null声明 Java Kotlin 空判断...

  • 2021-01-23flutter-isEmpty

    1、判断空,标准写法if (d?.isEmpty ?? true) {} 3、如果为null为解析成null字符串...

  • null与异常,空字符串

    null与空字符串有本质上的区别: null是不存在,而空字符串是存在,但值为空 常见的异常: 1.空指针...

  • day day up

    1、null和undefined的区别 null表示一个空的值,和0以及空字符串' '不同,0是一个数值,‘ ’表...

网友评论

      本文标题:Java | 空字符串和null

      本文链接:https://www.haomeiwen.com/subject/uhxuwxtx.html