这可能是一个愚蠢的问题,但是Java数组接受的内容超过其大小吗?如果是,那为什么我们需要ArrayList?我认为数组具有固定大小,无法在运行时增加。这是我的测试代码:
public class ArraySizeDemo {
int[] anArray = new int[5];
public int[] getAnArray() {
return anArray;
}
public void setAnArray(int[] anArray) {
this.anArray = anArray;
}
}
public class ArrayDemo {
public static void main(String[] args) {
ArraySizeDemo ar = new ArraySizeDemo();
int arr[] = {0,1,2,3,4,5,6,7,8,9};
int testarray[] = new int[10];
ar.setAnArray(arr); // it should give an error here since I am trying to
// assign an array of 10 to an array of 5
testarray = ar.getAnArray();
for (int i = 0; i < arr.length; i++)
System.out.println(testarray[i]);
}
}
参考方案
那作业
this.anArray = anArray;
不会将anArray
的元素复制到this.anArray
。
它将this.anArray
变量的值更改为引用anArray
引用的同一数组。因此,在赋值this.anArray
之前指的是长度为5的数组,在赋值之后,它是指长度为10的不同的数组对象。
如果您尝试将源数组的元素复制到(较小的)目标数组而不是此分配,则将引发异常,因为无法更改数组的长度,因此长度为10的数组的元素无法容纳以长度为5的数组为单位。
Java-将int更改为ascii - javajava有没有办法将int转换为ascii符号? 参考方案 您是否要将int转换为char?:int yourInt = 33; char ch = (char) yourInt; System.out.println(yourInt); System.out.println(ch); // Output: // 33 // ! 还是要将int转换为Stri…
Java-固定大小的列表与指定初始容量的列表之间的差异 - java我在理解这一点上遇到了问题。当我们做 List<Integer> list = Arrays.asList(array); 我们不能在该列表上使用添加,删除之类的方法。我知道Arrays.asList()返回固定大小的列表。我不明白的是,如果我们创建一个具有指定初始容量的列表,例如List<Integer> list2 = new A…
Java:线程池如何将线程映射到可运行对象 - java试图绕过Java并发问题,并且很难理解线程池,线程以及它们正在执行的可运行“任务”之间的关系。如果我创建一个有10个线程的线程池,那么我是否必须将相同的任务传递给池中的每个线程,或者池化的线程实际上只是与任务无关的“工人无人机”可用于执行任何任务?无论哪种方式,Executor / ExecutorService如何将正确的任务分配给正确的线程? 参考方案 …
Java-搜索字符串数组中的字符串 - java在Java中,我们是否有任何方法可以发现特定字符串是字符串数组的一部分。我可以避免出现一个循环。例如String [] array = {"AA","BB","CC" }; string x = "BB" 我想要一个if (some condition to tell wheth…
从方法返回数组-Java - javaprivate static Coordinate[] getCircleCoordintaes() { Coordinate coordinates[] = {new Coordinate(0, 0)}; return coordinates; } 以上程序工作正常。在上面的程序中,返回的坐标数组首先初始化了数组使用这条线Coordinate coordi…