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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fightingwang 中级黑马   /  2015-1-31 16:37  /  1256 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

错误代码如下:public class testA {

        public static void main(String[] args) {
                StringBuilder[] sb=new StringBuilder[4];
                byte[] b=new byte[10];
                for (int i = 0; i < sb.length; i++) {
                        for (int j = 0; j < b.length;j++) {
                                sb[i].append(b[j]);
                        }
                }
                for (int i = 0; i < sb.length; i++) {
                        System.out.println(sb[i]);
                }        
        }
}

评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

7 个回复

倒序浏览
sb里都没有元素,都是null啊
回复 使用道具 举报
byte数组是null
回复 使用道具 举报
本帖最后由 天堂雨 于 2015-2-1 12:24 编辑

我重新看了一下,明白了。因为你创建了一个StringBuilder数组,却没有赋值,就是说数组中根本就不存在StringBuilder的对象,
而只有StringBuilder对象才可以调用类中的append()方法,也就是说 sb[0].append() 中的 sb[0] 是空指针。
此乃正解。。。
回复 使用道具 举报
byte[] b=new byte[10];
数组b只是定义了,还未赋值过,直接把b[j]赋给别人肯定会报错啊,因为b本身就还是个空的数组
回复 使用道具 举报
cs8630323 发表于 2015-2-1 11:55
sb里都没有元素,都是null啊

呵呵,谢谢啊
回复 使用道具 举报

明白了,非常感谢
回复 使用道具 举报
奔跑的猴子 发表于 2015-2-1 12:07
byte[] b=new byte[10];
数组b只是定义了,还未赋值过,直接把b[j]赋给别人肯定会报错啊,因为b本身就还是 ...

嗯啊,明白了,谢谢哈
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马