77问答网
所有问题
java的String=a; a==null和a.equals(null)这两个判断有什么区别
如题所述
举报该问题
推荐答案 2014-01-27
a==null;这个里面的a 是String对象的引用,(就相当于c++的指针),a==null 是判断这个引用a是不是指向一个String对象。
a.equal(null) 这个是判断a这个引用所指向的String对象的内容是不是为空。a只是String对象的引用而已。
追问
"String对象的内容是不是为空",是指什么,“ ”这样算是空吗?还是哪种表达才是空呢?
追答
String类型可以看做字符数组,"String对象的内容是不是为空"就是指这个字符数据是不是为空
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/NGv3vGq88IvIYN38YI.html
其他回答
第1个回答 推荐于2017-09-13
首先明确的一点,String的equals方法默认是重写了Object类的方法,具体是实现是
public boolean equals(Object paramObject) {
if (this == paramObject) {
return true;
}
if (paramObject instanceof String) {
String str = (String) paramObject;
int i = this.count;
if (i == str.count) {
char[] arrayOfChar1 = this.value;
char[] arrayOfChar2 = str.value;
int j = this.offset;
int k = str.offset;
while (i-- != 0) {
if (arrayOfChar1[(j++)] != arrayOfChar2[(k++)])
return false;
}
return true;
}
}
return false;
}
也就是说,对于a.equals(null)来说,第一步也会判断this == null,这里的this就是a。上面的代码已经说明,当equals传入的参数是null的时候,和a==null的效果是一样的。
但是如果传入的参数不是null,那么a==b只能判断a和b是否指向同一个java对象,而a.equals(b)能判断a和b指向的java对象的字符串内容是否一样。
本回答被提问者和网友采纳
第2个回答 2014-01-27
a==null,判断引用变量a是否是空引用;a.equals(null)判断字符串a内容是否是空
第3个回答 2014-01-27
对于equals和==的区别你可以百度一下
通常对于字符串比较应该使用equals,对于数值的比较用==
相似回答
a==null和a.equals(
"null"
)有什么区别
?
答:
String
a="XXX"
;equals
是值比较,==是比较内存 类似这样的声明表明已经分配了空间,再用
a==null
来判断,显得多余 ""是空字符串,但是也是有内存空间的,而null是空对象。对于字符串,用
==和
用equals实际上是一样的。完全没有必要得用两次判断。你可以这么理解:A==B,比较句柄,就是比较变...
a==null和a.equals(
"null"
)有什么区别
?
答:
a==null,是说a这个变量还没有内容,
也就是a为空a.equals("null")为true是说字符串a的内容为“null”这个字符串
。应该如此。
java判断null
,
=a和a
,
=null的区别
答:
equals只是比较值是否相同而==则是比较两个变量是不是同一个变量
,也应时是说要看看这两个变量是不是引用的同一个地址,java中只有引用地址相同的两个变量才被视为==如果明白值传递与地址传递的话,这个问题应该不难理解null放在前面就是为了避免变量为空时引了空指针异常如:if(a==null)如果a真为...
Java
空字符串
与null的区别和判断
字符串是否为空的方法
答:
Java空字符串与null的区别:
1、类型 null表示的是一个对象的值,而并不是一个字符串
。例如声明一个对象的引用,String a = null ;""表示的是一个空字符串,也就是说它的长度为0。例如声明一个字符串String str = "" ;2、内存分配 String str = null ; 表示声明一个字符串对象的引用,但...
java
字符串为空的问题
答:
①““.
equals(
str
)这个
是获取到str的值,和""比较,纯粹的值得比较 如果Str 是“aa”,那么自然不等于 ②”null“.equals(str)就是用一个值为null的字符串和str 的值做比较!③str
==null
,str 本身引用对象是否是null ,str没有初始化时那么就是一个null 对象 ...
java中
变量不等于
null跟null
不等于变量,如a !
=null与null
!
=a有什么区别
...
答:
这个没区别。我想你想问的应该是有个a对象。
a.equals(
""
);和
"".equals(
a);
这个是
有区别
的。前者不能保证a不为
null
,可能回报空指针异常,后者的""肯定不是null,绝对不会有这种顾虑。希望可以采纳!
与NULL
比较使用
==
还是
equals
答:
首先,我们来了解一下
==和equals区别
:==是用于比较变量,equals是用于比较对象;其次,在开发中,有很多类型可以定义为null(比如实体类、
String
、PreparedStatement等等),从而导致null在equals比较的时候变得模糊,不能
判断null
是什么对象。举个例子:String username
=null;
if(username.
equals(
"zbc")){ }...
大家正在搜
equals和==的区别
字符串null和null的区别
equals判断null
java中equals是什么意思
java判断字符串为null
java判断是否为null
java的equals比较前后
java的equals方法
java servlet
相关问题
java中*=是什么意思?比如:i*=n
请问 java中"% "与 "/ "之间的区别?
java中&=是啥意思?怎么用
java-=是什么意思
java 中/**是什么
java中<>
JAVA中!