java - 如何从 ResultSet 的行中的列获取 int[] 数组?

标签 java arrays jdbc

我使用以下方法将 ResultSet 中的 int 值放入 int 数组中。这看起来效率很低,但我无法弄清楚如何在我事先不知道大小的情况下获取原始 int 数组。

List<Integer> ints = ArrayList<Integer>();

while ( results.next ) ints.add( results.getInt( "id" );

int[] intsArray = new int[ ints.size() ];
for ( int i = 0; i < ints.length; i++ ) int[ i ] = ints.get( i ); //auto-boxes here

我需要它们是一个原始数组,因为这是方法所需要的。

最佳答案

如果您不知道从结果集中读取的值的数量,您确实无法避免使用列表。

但是您可以避免使用 List<Integer>如果你有一个可以存储原语的列表类 int值例如 TIntList trove project的.

最后,您应该真正衡量使用中间 Integer 的性能影响在这个问题上花费太多精力之前先对象。

关于java - 如何从 ResultSet 的行中的列获取 int[] 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38109170/

相关文章:

java.lang.RuntimeException : Unable to start activity ComponentInfo{} android. view.InflateException:二进制 XML 文件行 #8:

java - Java中如何获取计算机的用户目录?不是当前工作目录

javascript - 循环遍历 String 中的对象数组

java - 使用 jdbc 从 Oracle 获取自定义类型数据

java - 使用 net.sourceforge.jtds.jdbc.Driver 连接 SpringMVC 与 JDBC 时出错

java - 有没有办法让 Guice 在 Guice.createInjector 期间快速失败

java - 有没有办法在 apache Ant build.xml 中将文件与其名称中的数字相匹配

c++ - 谁能帮我解决以下编译错误——关于数组的两个实现?

javascript - AngularJS 数组值包含 HTML 标签,调用时显示不正确

oracle - 使用 Spark 截断 Oracle 表