String 的null,或者赋值为"",有什么区别?

废话少说,上代码:

public class EmptyAndNull {

    /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub String str=new String();
String str1="";
String str2=null;
if(str.isEmpty()){
System.out.println("str is empty.");
}
if(str!=null){
System.out.println("str is not null");
}
if(str1.isEmpty()){
System.out.println("str1 is empty.");
}
if(null!=str1){
System.out.println("str1 is not null");
}
} }

输出结果:

str is empty.
str is not null
str1 is empty.
str1 is not null

结论:new String();创建的对象并不为空,系统是分配了内存空间的,只是它没有赋值;String str="";str也不为空,只是赋值为空的字符串;String str=null;str为空,没有内存空间,什么也没有,不能调用它的属性,会有异常抛出。

最新文章

  1. 简单PE类代码
  2. YY前端课程5-6
  3. js 小技巧
  4. nginx 优化
  5. hdu 2870(dp求最大子矩阵)
  6. JavaScript总结1
  7. Oracle索引扫描算法
  8. HTTP数据包头解析---之温故而知新!
  9. 过河问题--nyoj题目47
  10. iOS -- Effective Objective-C 阅读笔记 (9)
  11. Redis(二)--Jedis使用
  12. makefile笔记1 - 初识makefile
  13. 给 Chrome浏览器 添加 Javascript小书签,查看当前页面全部加载的javascript文件及代码片段
  14. mac里安装Mycrypt扩展
  15. Servlet基本_サーブレットのライフサイクル、スレッドセーフ
  16. 【移入移出事件练习】【菜单】【选项卡】 -------this使用
  17. Android笔记-1
  18. BOM知识梳理
  19. 如何在MVC的ActionLink中应用Resource文件
  20. January 09 2017 Week 2nd Monday

热门文章

  1. 20. js继承的6种方式
  2. Java Applet 素数小程序
  3. Kibana6.x.x——执行yarn build出现的警告信息记录
  4. sharepoint_study_7
  5. C# repeater控件序号绑定
  6. HDU计算机学院大学生程序设计竞赛(2015’12)Happy Value
  7. windows server 2003和window2008区别
  8. pm2 启动后台 node js
  9. js遍历table和gridview
  10. jinkens + svn 把代码更新到本地在运行。(方法比较笨,只是想实现自己的想法。把代码更新下来在运行。)