「java数组空指针」JAVA 空指针
今天给各位分享java数组空指针的知识,其中也会对JAVA 空指针进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
java 二维数组定义报空指针
java采用“数组的数组”定义多维数组,也就是说a[0]是放在栈内存中的一个引用,你new的时候只new了从a[0]到a[3]3个引用,并没有指明它们具体指向哪,系统就给它们赋了默认的空值。
你根本没有为其分配堆空间何来a[0][1]?当然提示错误了。
改成:
int[][] a=new int[4][5];
System.out.println(a[0]);
System.out.println(a[0][1]);试试
说明一下:上面的二维数组a[4][5]是这样的:有4个一维数组a[0]到a[3]它们分别指向4个长度为5的一维数组
----------------------------------------------------------------------
a[0]是个引用,这个引用指向一个数组,a[0][1]是个元素,这个元素在数组
a[0]中,就好比你定义了个int[] b=new int[3],其中b[1]属于数组b一样
java数组空指针异常
public class Four3{
public static void main(String args[]) {
int oldArr[] = { 1, 3, 4, 5, 0, 0, 6, 6, 0, 5, 4, 7, 6 };
removeArray(oldArr);
}
public static void removeArray(int oldArr[]) {
int newArr[] = new int[oldArr.length]; int j = 0;
for (int i = 0; i oldArr.length; i++) {
if (oldArr[i] != 0) {
newArr[j] = oldArr[i];
System.out.println(newArr[j]);
j++;
}
}
}
}
因为你的newArr没给长度 ,导致下标越界 数组的长度是固定的 如果不给长度就出现如上情况
如果出确定长度那就是用集合
新手求教 JAVA 对象数组引起的空指针异常
1、空指针异常核心:使用了没有被实例化(new)的引用类型数据(包含数组、对象等)。
2、说的稍微专业点:使用的栈(对象名称)内存还有开辟堆内存空间(还没有new)。
java数组空指针的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于JAVA 空指针、java数组空指针的信息别忘了在本站进行查找喔。
发布于:2022-11-24,除非注明,否则均为
原创文章,转载请注明出处。