name.equals("")
这个是两个对象的比较
name==null 是判断name是否是对象的实例化
name.length()==0 length() 是个方法 ,这个方法判断的是name值的长度是否为0
理解这个问题,首先理解的是-------对象的概念-------兄弟
首先你要明白所有都是对象这个概念。
那么下面给你解释下三者的不同:
name==null
判断这个name对象是否为空。name可以是任意的类型。当然“”也就是空字符串不是null。
name.equals("")
判断name对象是否和空字符串相等,如果是string类型,则比较name是不是空字符串。
name.length()==0
string类型的name对象的长度是不是等于0。
第一个就是判断对象是否为null,既空引用,没有初始化过。
第二和第三功能一样,都可以做为判断string型的对象有没有内容。但需要注意的是,如果name对象为null会出现空指针异常。建议对空字符的判断可以这样。
"".equals(name).可以避免上面的情况。
第二个是对象比较,也就是引用比较,第一个是值比较
对
"".equals(name) 最省事
"".equals(name)
这个需要注意一下就行