首先,嗨大家阅读这个主题。我必须在数组末尾添加一个对象。例如在 (公共C(int,int,int)方法) 我必须扩展数组 " array2" 和 array2 有 的两个对象(AB b1 = a1.new B();) ,有一个 的对象(AB b2 = a1.new B();) 。
我该如何添加对象?
非常感谢大家。
以下代码位于测试类
<pre>public class Test{
public static void main(String[] args) {
A a1 = new A();
A.B b1 = a1.new B();
A.B b2 = a1.new B();
A.B.C c1 = b1.new C();
A.B.C c2 = b1.new C ();
A.B.C c3 = b2.new C();}}
//And the other class that following
<pre>public class A{
B [] array1;
class B{
C [] array2;
class C{
private int x;
private int y;
private int z;
//For each creating C object, array "array2" must be extended.
//add new C to end of array,How can I do?
public C(int x, int y, int z){
super();
this.x =x;
this.y=y;
this.z=z;
}
}
//for each creating B object, array "array1" must be extended.
//and add new B to end of array,How can I do that?
public B() {
super();
array2 = new C[0];
}}
public A() {
super();
array1 = new B[0];
}}
答案 0 :(得分:2)
在Java中,数组具有静态大小,这意味着一旦初始化,您就无法更改大小。
您可以做的是创建一个大小为n + m
的新数组,其中n
是当前大小数组和m
是您要添加的项目数量。然后,您可以在您想要的位置插入新元素,并使用System.arrayCopy(Object src, int srcPos, Object dest, int destPos, int length)
之类的内容移动您之前的元素。
话虽这么说,一种更简单的方法是在数组列表的特定位置使用ArrayList
,它为insert
提供了一种方法。
答案 1 :(得分:1)
如果您使用ArrayList,则更容易。 数组具有固定的大小。唯一的方法是分配一个更大的新数组。