name.equals("") name==null name.length()==0有什么区别

2025-02-28 15:48:54
推荐回答(5个)
回答1:

name.equals("")
这个是两个对象的比较

name==null 是判断name是否是对象的实例化
name.length()==0 length() 是个方法 ,这个方法判断的是name值的长度是否为0

理解这个问题,首先理解的是-------对象的概念-------兄弟

回答2:

首先你要明白所有都是对象这个概念。

那么下面给你解释下三者的不同:

name==null
判断这个name对象是否为空。name可以是任意的类型。当然“”也就是空字符串不是null。

name.equals("")

判断name对象是否和空字符串相等,如果是string类型,则比较name是不是空字符串。

name.length()==0

string类型的name对象的长度是不是等于0。

第一个就是判断对象是否为null,既空引用,没有初始化过。

第二和第三功能一样,都可以做为判断string型的对象有没有内容。但需要注意的是,如果name对象为null会出现空指针异常。建议对空字符的判断可以这样。
"".equals(name).可以避免上面的情况。

回答3:

第二个是对象比较,也就是引用比较,第一个是值比较

回答4:



"".equals(name) 最省事

回答5:

"".equals(name)

这个需要注意一下就行