java中String的null和""

如下代码,我将Strings=null的时候,输出的结果是false;而我将Strings="";的时候,返回的又是true;这是怎么回事啊!请详细解释!Strings=... 如下代码,我将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");
}
展开
 我来答
ic...6@yahoo.com.cn
2009-12-29 · 超过12用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:34.4万
展开全部
在使用"+"操作符时,如果有一个操作数是字符串,其他操作数会被转换成字符串
s=null时s+t结果为“nullab”
s=""时s+t结果为“ab”
而equals方法比较的是两个对象的内容是否相同,所以会有上面的结果

注:将s和t输出就知道了
小火炉123
2009-12-29 · TA获得超过566个赞
知道小有建树答主
回答量:224
采纳率:0%
帮助的人:232万
展开全部
String s 语句是创建一个对象。

如果s=null表示还没创建出对象,就是还没开辟空间。所以s=s+t还是空。
如果s = ""表示创建出了对象,但是这个对象内容为""(也就是空字符串)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小男孩晒太阳
2009-12-29
知道答主
回答量:31
采纳率:0%
帮助的人:24.3万
展开全部
首先NULL != “”,null表示没有可用的数据,而“”是真实存在的数据,所有出现上述结果也是理所当然的了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zouyigang
2009-12-29 · TA获得超过137个赞
知道小有建树答主
回答量:238
采纳率:50%
帮助的人:89.5万
展开全部
null 是未知内容的意思,null加上任何东西都还是null

""是空字符串,加上"ab"当然是"ab"了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
akfucc
推荐于2017-09-02 · TA获得超过5454个赞
知道大有可为答主
回答量:1771
采纳率:0%
帮助的人:2201万
展开全部
唉, 各位, 基本功呀
String s = null;
String t = "ab";
s = s + t;

这时:s = "nullab";

String s = "";
String t = "ab";
s = s + t;

这时:s = "ab";
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式