我想在此之前已经有人问过/回答了几次这个问题。但是我没有找到我需要的确切答案,所以我再次发布它:
我正在尝试做这样的事情:
float[][] fa2 = {{7,2}, {5,4}, {9,6}, {4,7}, {8,1}, {2,3}};
ArrayList<Float[]> AF = new ArrayList<Float[]>();
AF = Arrays.asList(fa2);
但是它出现了一个错误:
Type mismatch: cannot convert from List<float[]> to ArrayList<Float[]>
我理解错误的原因,但在Java中进行转换最方便的方法是什么?
这是我能想到的最简单的方法。是否有更好/更方便的方法?
float[][] fa2 = {{7,2}, {5,4}, {9,6}, {4,7}, {8,1}, {2,3}};
ArrayList<Float[]> AF = new ArrayList<Float[]>(fa2.length);
for (float[] fa : fa2) {
//initialize Float[]
Float[] Fa = new Float[fa.length];
//copy element of float[] to Float[]
int i = 0;
for (float f : fa) {
Fa[i++] = Float.valueOf(f);
}
//add Float[] element to ArrayList<Float[]>
AF.add(Fa);
}
double
而不是float
,因为它的精度非常低。此外,如果可以避免使用Float[]
或Double[]
,最好不要使用,因为它们非常低效。 - Peter Lawrey