java数组长度可以改变吗?与数组下标有何异同?

2020-03-31 10:06:14 java常见问答 7586

大家了解什么是数组长度吗?什么是数组下标吗?经常有人将这两个词混淆,今天呢,小编给小伙伴们带来了有关数组的相关知识,就让我们一起了解了解吧。

有的人说数组是可以改变,有的人说数组是不可以。然而我在使用的过程中,不指定数组的长度就会报错。不知道你们是否一样呢?

总而言之一句话,在java中,数组的长度是不能够发生改变的,数组下标是从0开始的。

java中的数组的定义就是 相同类型 ,固定长度 的一组数据,一旦被初始化,长度是不可更改。

数组声明有两种方式:

静态的初始化

比如:int[] strArrayTest1 = {1,2};

声明好之后它的长度就是2,是不可改变的。

动态初始化

案列:int[] strArrayTest2 = new int[5];

这个时候它的长度为5,也是不可改变的。

当然你可以先声明一个数组int[] strArrayTest1 = {1,2}, 然后由于业务需要修改为strArrayTest2 = new  int[4],表面上看长度改变了,但是这已经是两个不同的数组了,前面一个由于没有用,被垃圾回收器回收了。

注意区分使用 new 的区别。

如果对需要用的数组的长度不确定,有两种解决办法:

第一种是在数组初始化的时候 长度申请的足够大,这样做会造成内存空间的浪费,一般不推荐使用的。

第二种是使用java中提供的 集合 的方式来存储数据的,列如List,Set和Map类型的对象来进行存储数据,

一方面这些类型的对象的长度也都是动态增长的;

另一方面这些类中提供了很多便于操作数据的一些方法。

因此在对此所需存储数据的多少不确定的时候,推荐使用第二种方法。

好了,以上就是今天所讲的内容,是否了解了呢?希望给小伙伴们留下深刻的印象,想要了解更多知识,请据需关注本网站。