为了账号安全,请及时绑定邮箱和手机立即绑定

从对象向量中获取整数

从对象向量中获取整数

慕勒3428872 2023-03-02 10:14:06
我使用一种方法从数据库中获取数据并将其存储在向量中。该方法将始终返回一个 Vector of Objects,其中 Object 数据类型可以是 Date、Double 或 String。就我而言,我知道我得到的是 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.IntegerSystem.out.println((int)vector1.get(1));在此先感谢您的任何建设性回应
查看完整描述

3 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

按照这个答案,我们可以将代码转换为

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

我在这里假设,如果你有一些数组,也许你想将那里的所有数据转换DoubleInteger

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

或者

vector1.stream().mapToInt(Double::intValue).mapToObj(Integer::new).collect(Collectors.toList());



查看完整回答
反对 回复 2023-03-02
?
眼眸繁星

TA贡献1873条经验 获得超9个赞

您可以使用 Math.round(double) 获取 int 值。作为

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

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


查看完整回答
反对 回复 2023-03-02
?
绝地无双

TA贡献1946条经验 获得超4个赞

您可以使用 intValue() 来获取 int 值。

Double b = new Double((double)vector1.get(1));   
int value = b.intValue();


查看完整回答
反对 回复 2023-03-02
  • 3 回答
  • 0 关注
  • 88 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信