Как получить значение с плавающей точкой от объекта в векторе? - PullRequest
0 голосов
/ 30 сентября 2019

В этом методе я хочу преобразовать Vector в float[][], но я получаю ошибку, что индексы 0,1,2 вектора objects и не могут быть непосредственно преобразованы в float.

Как я могу решить эту проблему?

Как и в случае toString(), я пробовал toFloat(), но это тоже не сработало.

float[][] vectorToMx(Vector v) {
    float[][] m = new float[3][1];
    m[0][0] = v.get(0);
    m[1][0] = v.get(1);
    m[2][0] = v.get(2);
    return m;
}

1 Ответ

1 голос
/ 30 сентября 2019

Класс Java Vector является универсальным классом. Если вы не знакомы с универсальными типами, я бы порекомендовал вам ознакомиться с документацией Oracle .

В любом случае, если вы не укажете универсальный тип вашего Vector, вот так:Vector<Float>, он считается необработанным типом, который по существу означает вектор объектов, а не вектор чисел с плавающей точкой, как вы предполагали.

Это будет исправлением вашей проблемы:

float[][] vectorToMx(Vector<Float> v) {
    float[][] m = new float[3][1];
    m[0][0] = v.get(0);
    m[1][0] = v.get(1);
    m[2][0] = v.get(2);
    return m;
}
...