黑马程序员技术交流社区
标题:
空指针
[打印本页]
作者:
张志明
时间:
2014-2-7 23:20
标题:
空指针
package learn;
public class Text1 {
public static void main(String[] args) {
/* long starttime=System.currentTimeMillis();
for(int i=0;i<1000000;i++)
{
int t=0;
t++;
}
long end=System.currentTimeMillis();
System.out.println(end-starttime);
// TODO Auto-generated method stub
**/
byte[]b=new byte[3];
b[0]='a';
b[1]='b';
b[3]='h';
StringBuffer sb=new StringBuffer().append(b);
System.out.println(sb.toString());
}
}
报错空指针异常, 问题出哪啊 求大神
努力进黑马~!!!!面试已过
作者:
郭运川
时间:
2014-2-7 23:42
b[3]='h';角标越界,数组的角标是从0开始
byte[]b=new byte[3];角标为0,1,2
作者:
dongdong5982
时间:
2014-2-7 23:53
郭运川 发表于 2014-2-7 23:42
b[3]='h';角标越界,数组的角标是从0开始
byte[]b=new byte[3];角标为0,1,2
同意!!看法一致!!!
作者:
山治0712
时间:
2014-2-8 00:09
b[3]='h';越界了,只有b[2]
作者:
嗯√低调〆
时间:
2014-2-8 13:14
byte[]b=new byte[3];
b[0]='a';
b[1]='b';
b[3]='h';
其中之开辟了3个空间 b[0],b[1],b[2]...b[3]没有开辟 所以越界
作者:
追逐
时间:
2014-3-14 15:53
这个不是空指针吧。应该是数组下标越界。空指针异常是因为你的某个对象没有实例化。而这个明显的是数组下标越界了。你只要把b[3] = 'h'; 改成b[2] = 'h';就可以解决问题了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2