NegativeArraySizeException(数组负长度异常)

您所在的位置:网站首页 caused是什么意思翻译 NegativeArraySizeException(数组负长度异常)

NegativeArraySizeException(数组负长度异常)

2024-01-02 12:21| 来源: 网络整理| 查看: 265

1.NegativeArraySizeException异常类的继承关系

        java.lang.Object

                java.lang.Throwable

                        java.lang.Exception

                                java.lang.RuntimeException

                                        java.lang.NegativeArraySizeException

2.NegativeArraySizeException(数组负长度异常) package NegativeArraySizeException; //该Main方法写在NegativeArraySizeException包下 import java.util.Arrays; public class Main { public static void main(String[] args) { int num1 = 666; int num2 = -666; //创建数组传递的参数为非负数,可以正常运行 //创建一个存储String类型字符串的数组,数组的长度为666; String[] stringArray1 = new String[num1]; //数组中存储的全部是null值 //创建数组传递的参数为负数,不可以正常运行 //创建一个存储String类型字符串的数组,数组的长度为-666; String[] stringArray2 = new String[num2]; //Exception in thread "main" java.lang.NegativeArraySizeException //at NegativeArraySizeException.Main.main(Main.java:13) } }

       

        产生异常的原因是:

上述Java原码中分别创建两个数组一个数组长度是num1可创建成功,另一个数组长度因为是-666,所以不会创建且会抛出异常NegativeArraySizeException。

得出结论:

        静态创建数组时,数组长度不能为负数。如果创建时给数组长度为负数的话会抛出运行时异常NegativeArraySizeException,该异常继承自RuntimeException

        有的小伙伴这时候可能会想那数组长度可以为0?

当然时可以的啦,看代码!

import java.util.Arrays; public class Main { public static void main(String[] args) { //下述代码不会报错,运行时也不会抛出异常 String[] stringArray3 = new String[0]; //但是创一个长度为0的数组毫无意义,数组长度为0,数组长度又不可变,那就没有办法用了,而且还占用着内存空间。 } }

        由上可知:

创建一个长度为0的数组当然当然当然是可以的!!!但是呢,创一个长度为0的数组明显是毫无意义,数组长度为0,然后数组长度又是不可变的,那就没有办法用了,而且它还占用着内存空间。如果还有循环的话,那将会占用着大量的空间,造成资源浪费,所以宝子们就别创建长度为0的数组啦~~~

总结:

        1.创建数组时长度不能为负,否则会抛出NegativeArraySizeException(运行时异常)

        2.NegativeArraySizeException(运行时异常)可以处理也可以不处理。

        3.可以创建长度为0的数组,但是没有意义。

迷魂药点赞~~~ 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3