A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Mayer 中级黑马   /  2016-1-21 23:39  /  412 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

早上上班看到一友的关于null的帖子,到中午才折腾明白个一二,提问的代码和结果如下:
  1. class Test{
  2. public static void main(String[] args) {
  3.                 StringBuilder sb = new StringBuilder();
  4.                
  5.                 sb.append("abc");
  6.                 //sb=null;  题外话:但是如果将null赋值给包装类object,然后将object赋给各自的基本类型,编译器不会报,但是你将会在运行时期遇到空指针异常。
  7.                 insert(sb);
  8.                
  9.                 System.out.println(sb);
  10.         }

  11.         public static void insert(StringBuilder sb) {
  12.                 sb.append("def");
  13.                 sb = null;//使用静态方法来使用一个值为null的引用类型变量。因为静态方法使用静态绑定,不会抛出空指针异常。
  14.                                  //让一个非null的引用类型变量指向null,等待JVM垃圾回收机制去回收,内存中的内容任然存在。
  15.                                 //在sb被回收前,sb的内容能被打印出来。
  16.                                 //你可以试试其它的引用类型变量赋值后指向null;我试过数组也能打印出来。
  17.         }  
  18. }
复制代码


另附有我搜集到的关于null1的知识点:
   黑马程序员-JAVA的null说明

1 个回复

倒序浏览
本帖最后由 Mayer 于 2016-1-21 23:42 编辑

http://blog.csdn.net/u014782692/article/details/50554403以上网址为我整理的null知识点blog,帖子的网址没发出去
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马