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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 吴小铁你好 于 2012-6-6 18:10 编辑
  1. package cn.baidu.day01;

  2. public class StringBufferText {
  3.         //final static StringBuffer str=null;
  4.         public static void main(String []args)throws Exception{
  5.                
  6.                 event();
  7.         }
  8.         
  9.         public static void event(){
  10.                 StringBuffer str=null;
  11.                 str.append("abc");
  12.                 System.out.println(str.toString());
  13.         }
  14. }
复制代码
为什么说空指针异常,我不是向StringBuffer中添加了元素abc吗,输出结果为什么不是abc。

3 个回复

倒序浏览
本帖最后由 赵玮_Tom 于 2012-6-6 17:54 编辑

你根本就没有创建对象,只是一个空引用,肯定是空指针异常

QQ截图20120606175355.png (3.72 KB, 下载次数: 20)

QQ截图20120606175355.png
回复 使用道具 举报
楼上正解,赵玮_Tom 哥,你为什么肿快我一步!{:soso_e135:}
回复 使用道具 举报
本帖最后由 薄炳鑫 于 2012-6-6 18:59 编辑
  1. public class Test1
  2. {
  3.         
  4.         public static void main(String[] args) throws Exception
  5.         {
  6.         
  7.                 event();
  8.         }
  9.         
  10.         public static void event()
  11.         {
  12.         
  13.                 // StringBuffer str = null;
  14.                 //在栈内存中开辟了一个str而在堆内存中没有开辟空间只是创建了一个地址。在使用append方法添加的时候无法将其添加到内存中。
  15.                //报告空指针异常。
  16.                 StringBuffer str = new StringBuffer();
  17.                 str.append("abc");
  18.                 System.out.println(str.toString());
  19.         }
  20. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马