@hev1的答案简单明了,对于你想要实现的终端方法来说是最好的答案。
如果你需要其他解决方案,我提供两个不同的选项。第一个是创建原始数组的中间方法;第二个选项是一种完全不同的解决问题的方法,它不会创建原始数组,而是创建了一个“列表”,该列表反映了原始类型,并且还可以与任何类型或对象一起使用:
解决方案1:
int[] ints = {1,2,4,67};
StupidInt[] myInts = new StupidInt[ints.length];
for (int i = 0; i < myInts.length; i++) {
myInts[i] = new StupidInt(ints[i]);
}
解决方案2:
public class StupidIntList {
private ArrayList<Integer> ids;
public StupidIntList() {
this.ids = new ArrayList<Integer>();
}
public void add(int id) {
this.ids.add(id);
}
public int get(int pos) {
return this.ids.get(pos);
}
public boolean findId(int i_d) {
for (Integer id : ids) {
if(id == i_d)
return true;
}
return false;
}
public String toString() {
String res = "[";
for (Integer id : ids) {
res += id+",";
}
return res.substring(0, res.lastIndexOf(","))+"]";
}
public static void main(String []args){
int[] ints = {1,2,4,67};
StupidIntList myInts = new StupidIntList();
for (int i = 0; i < ints.length; i++) {
myInts.add(ints[i]);
}
System.out.println(myInts);
}
}
在这种情况下,要添加一个新的整数,您可以使用add方法,要获取一个整数,您将使用get(position)方法或find方法查找其是否存在并获取位置。
或者,您可以简单地使用ArrayList类,或者如果您想要,我可以与您分享一个列表结构,它允许您完成所需的操作,具有大多数您可以想到的方法,实现可比性,可以排序,实现可迭代,并且非常高效。
mapToObj
,但不知道在末尾添加toArray
,当然也不知道如何传入类构造函数。(现在我知道了。) - Machtyn