Получить int из вектора объектов - PullRequest
0 голосов
/ 02 июля 2019

Я использую метод, чтобы получить данные из базы данных и сохранить их в векторе.Метод всегда возвращает вектор объектов, где тип данных объекта может быть датой, двойным или строковым типом.В моем случае я знаю, что я получаю Double, но я хочу преобразовать его в int.Есть ли более простой способ, чем:

System.out.println((int)Double.parseDouble(vector1.get(1).toString()));

Другие методы, которые я пробовал, которые не сработали:

System.out.println((Integer)vector1.get(1)); // java.lang.ClassCastException: java.lang.Double incompatible with java.lang.Integer

System.out.println((int)vector1.get(1));

Заранее спасибо за любой конструктивный ответ

Ответы [ 3 ]

1 голос
/ 02 июля 2019

После этого ответа мы можем преобразовать код в

Double d = vector1.get(1);
Integer i = d.intValue();

И я бы предположил, что если у вас есть какой-то массив, возможно, вы хотите преобразовать все данные тамот Double до Integer

vector1.stream().mapToInt(n -> n.intValue()).mapToObj(Integer::new).collect(Collectors.toList());

или

vector1.stream().mapToInt(Double::intValue).mapToObj(Integer::new).collect(Collectors.toList());
0 голосов
/ 02 июля 2019

Вы можете использовать Math.round (double), чтобы получить значение int.As

Double d = Double.parseDouble (vector1.get (1));

int v = (int) Math.round (d);

0 голосов
/ 02 июля 2019

Вы можете использовать intValue () для получения значения int.

Double b = new Double((double)vector1.get(1));   
int value = b.intValue(); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...