我使用以下方法将 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/