Java字符串中“” , “ ”,和null的区别
2016-02-29 11:11
323 查看
null是一个空引用,它没有分配空间。
“”是一个空字符串,它分配了内存空间,但是没有内容。
“ ”是空格,占位符
如果s=null,则一般可以用实例化给它分配空间,也可以赋予某个引用;
如果s=“”,表示s是一个字符串,只是没有内容,可以把它视为String对象对待。
如果s =" "说明s中包含一个空格
输出
0
0
false
java中判断字符串是否没有内容:
顺便补充一个与此相关的题目:
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就不能再算加法了,要当成字符串拼接
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就不能再算加法了,要当成字符串拼接
相关文章推荐
- 线程
- java异常之Throwable源码
- Java设计模式
- 【leetcode】【33】Search in Rotated Sorted Array
- java中栈 堆 寄存器 静态变量 和常量内存解析
- Eclipse运行时提示“Failed to load the JNI shared library /Java/jre6/bin/client/jvm.dll”的一个解决方案
- java回调机制
- spring MVC4 配置详解(个人记录)
- java 中遍历hashmap 和hashset 的方法
- webservice 客户端对应xml解析
- Java反射机制
- Java大字节顺转换小字节顺
- Java 学习笔记 ------第六章 继承与多态
- Spring中Assert工具类的用法
- eclipse启动无响应,停留在Loading workbench状态
- OSWAF 的JavaEE实现
- springMvc架构流程图及常用注解总结
- 深入探讨Java多线程中的volatile变量
- eclipse中添加mybatis generator插件教程
- JAVA IO的使用原则及stream 和 reader的区别