Java字符串中“” , “ ”,和null的区别



null是一个空引用,它没有分配空间。

“”是一个空字符串,它分配了内存空间,但是没有内容。

“ ”是空格,占位符

如果s=null,则一般可以用实例化给它分配空间,也可以赋予某个引用;

如果s=“”,表示s是一个字符串,只是没有内容,可以把它视为String对象对待。

如果s =" "说明s中包含一个空格


                String str ="";
		System.out.println(str.length());
		System.out.println(str.hashCode());
		System.out.println(str==null);


     输出

             0
             0
          false

java中判断字符串是否没有内容:

s==null||"".equals(s)


顺便补充一个与此相关的题目:

1. 如果int x=20, y=5,则语句System.out.println(x+y +""+(x+y)+y);  的输出结果是(D)
A.  2530    B.  55    C. 2052055    D. 25255


因为x和y是int型的,所以x+y就=20+5=25
x+y +""+(x+y)+y
就等价于25+“”+(25)+5

“”是空字符,不是空格。
因为中间加了个空字符,所以25,25和5就不能再算加法了,要当成字符串拼接


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值