java中String的null和""
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中String的null和""相关的知识,希望对你有一定的参考价值。
如下代码,我将String s = null的时候,输出的结果是false;而我将String s = "";的时候,返回的又是true;这是怎么回事啊!
请详细解释!
String s = "";
String t = "ab";
s = s + t;
if(s.equals(t))
System.out.println("true");
else
System.out.println("false");
s=null时s+t结果为“nullab”
s=""时s+t结果为“ab”
而equals方法比较的是两个对象的内容是否相同,所以会有上面的结果
注:将s和t输出就知道了 参考技术A String s 语句是创建一个对象。
如果s=null表示还没创建出对象,就是还没开辟空间。所以s=s+t还是空。
如果s = ""表示创建出了对象,但是这个对象内容为""(也就是空字符串)。 参考技术B 首先NULL != “”,null表示没有可用的数据,而“”是真实存在的数据,所有出现上述结果也是理所当然的了 参考技术C null 是未知内容的意思,null加上任何东西都还是null
""是空字符串,加上"ab"当然是"ab"了 参考技术D 唉, 各位, 基本功呀
String s = null;
String t = "ab";
s = s + t;
这时:s = "nullab";
String s = "";
String t = "ab";
s = s + t;
这时:s = "ab";本回答被提问者采纳
以上是关于java中String的null和""的主要内容,如果未能解决你的问题,请参考以下文章
JSONObject optString或者getString方法取null问题
java中String问题,String a=new String(""); 和String a=new String();有区别吗