例如,如果我有30个跑步者对象,都有getTime
方法。我该怎么办runner[index ].getTime() = new Double Array
?
答案 0 :(得分:2)
简单的循环会做
double[] times = new double[runner.length];
for(int i=0; i<runner.length; i++) {
times[i] = runner[i].getTime();
}
答案 1 :(得分:1)
没有捷径。您分配新数组并执行循环,将旧数组中的对象的相关属性/方法调用值分配给新数组中的相应条目。
答案 2 :(得分:0)
没有快速的方法可以做到这一点。您将不得不创建一个新的Double
数组,然后迭代原始数组,同时使用第一个数组中的相应值填充新数组。
for(int i = 0; i < runners.length; i++) {
times[i] = runners[i].getTime();
}
答案 3 :(得分:0)
考虑一种功能性方法。使用Collection
代替数组,并使用Google Guava的transform function。
答案 4 :(得分:0)
public static double[] convertToDouble(type[] runner){
double[] timeArray = new double[runner.length];
for(int i = 0; i < runner.length; i++){
timeArray[i] = runner[i].getTime();
}
return timeArray;
}
我不确定您的type
对于输入数组是什么,因此请将type[]
更改为您需要的类型。但是像上面这样的静态方法应该可行。
使用:
convertToDouble(runner);
编辑:请粘贴相关的代码。这可能不起作用,我对你对函数的输入感到困惑。它是一个阵列吗?这不是阵列吗?知道这会让我们更好地帮助你。