我正在从 MSSQL 服务器提取数据,应用程序的其余部分严重依赖于 guava。有没有办法将 int 从 SQL 转换为 Ints (guava)?我试过了
Primitives.wrap(Ints.class).cast(resultSet.getInt(3)))
并收到“java.util.concurrent.ExecutionException:java.lang.ClassCastException:无法将 java.lang.Integer 转换为 com.google.common.primitives.Ints”错误。
最佳答案
Ints
是一个静态实用程序类,它没有实例。它提供了操作原始 int 的通用方法。如果您需要将其包装在一个类中,那么自然的就是java.lang.Integer
。
Primitives.wrap()
是一种元实用程序。它告诉您什么类实现了给定类的包装器。如果您提供原语 int.class
,它将返回 Integer.class
。同样,它操作类,它不包装原始值。
如果你想包装一个int
,你需要的是:
int fooToWrap = 42;
Integer fooWrapped = Integer.valueOf(fooToWrap);
你想实现什么目标?
鉴于您的评论,我认为您想要的是:
Integer.valueOf(resultSet.getInt(3))
关于java - Guava 和 SQL : cast int to Ints,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10599571/