如何减少复制粘贴?

tsh*_*ang 0 java

如果我有许多类似的课程,请说:

Integer i0;
Integer i1;
Integer i2;
Integer i3;
Integer i4;
Integer i5;
Integer i6;
Integer i7;
Integer i8;
Integer i9;
Run Code Online (Sandbox Code Playgroud)

并希望避免这样做:

i0 = 0;
i1 = 1;
i2 = 2;
i3 = 3;
i4 = 4;
i5 = 5;
i6 = 6;
i7 = 7;
i8 = 8;
i9 = 9;
Run Code Online (Sandbox Code Playgroud)

我正在考虑做类似的事情以达到相同的效果:

int cnt = 0;
for(classname : arrayOfClassNames {
    classname = cnt++;
}
Run Code Online (Sandbox Code Playgroud)

我怎么做?

[ 澄清 ]我似乎被误解了.我更多地考虑了10个单独的类,而不是一个包含10个项目的数组.

Cod*_*nci 9

使用数组或ArrayList?

// using an array
Integer[] ints = new Integer[10];
for (int i = 0; i < 10; i++) {
    ints[i] = i;
}

// using an array list
ArrayList<Integer> ints = new ArrayList<Integer>();
for (int i = 0; i < 10; i++) {
    ints.add(i);
}
Run Code Online (Sandbox Code Playgroud)

继续更新之后,您可以使用以下内容来实现

Class.forName(classname).newInstance();
Run Code Online (Sandbox Code Playgroud)

但是,我建议无论你及时编写代码,你都会失去可读性和易维护性,所以你可能会发现这是一种虚假的经济.


dog*_*ane 5

将它们存储在一个数组中:

Integer[] array = new Integer[10];
for(int i = 0 ; i < 10 ; i++){
    array[i] = i ;
}
Run Code Online (Sandbox Code Playgroud)

要获得i9: array[9]