我正在遍历,ResultSet
并尝试将其值复制到中ArrayList
。问题在于它只能遍历一次。但是使用resultset.getString("Col 1")
to resultset.getString('Col n")
显示所有列的所有条目。以下是代码段-
ResultSet resultset = null;
ArrayList<String> arrayList = new ArrayList<String>();
int i = 1;
while (resultset.next()) {
arrayList.add(resultset.getString(i++));
System.out.println(resultset.getString("Col 1"));
System.out.println(resultset.getString("Col 2"));
System.out.println(resultset.getString("Col n"));
}
ResultSet
复制到的唯一值ArrayList
是第1列。然后退出。但是我可以看到所有列的值。为什么?
如果我正确理解了您的问题,那么这里可能有两个问题:
resultset
是null
-我假设情况并非如此,就好像您在while循环中遇到异常并且什么也不会输出。resultset.getString(i++)
将从 随后的每一行中 获取1,2,3列,依此类推。我认为第二点可能是您在这里遇到的问题。
假设您只返回了1行,如下所示:
Col 1, Col 2, Col 3
A , B, C
您的代码将只获得A-不会获得其余的列。
我建议您按以下方式更改代码:
ResultSet resultset = ...;
ArrayList<String> arrayList = new ArrayList<String>();
while (resultset.next()) {
int i = 1;
while(i <= numberOfColumns) {
arrayList.add(resultset.getString(i++));
}
System.out.println(resultset.getString("Col 1"));
System.out.println(resultset.getString("Col 2"));
System.out.println(resultset.getString("Col 3"));
System.out.println(resultset.getString("Col n"));
}
编辑:
要获取列数:
ResultSetMetaData metadata = resultset.getMetaData();
int numberOfColumns = metadata.getColumnCount();
问题内容: 是否可以将值添加到ArrayList而不是使用HashMap 就像是: 现在收到错误: 谢谢 问题答案: JSTL并非旨在执行此类操作。这确实属于业务逻辑,该业务逻辑将(间接)由Servlet类控制。 创建一个如下的servlet: 这个地图上的。 现在,在其中创建一个JSP文件(将其放置以防止直接访问): 不需要,因为servlet已经设置了它。 现在通过调用servlet + JS
在此处输入图像说明AddMeetingActivity 我想在一个arraylist中添加4个EditText的字符串值,这些EditText是我键入参与者名称的地方。然后我必须在addmeeting()方法中发送新的列表,但我找不到如何执行。 这是为了让您更清楚地看到我正在尝试做什么,我在4 edittext中输入参与者的邮件,当我单击create按钮时,它应该将我在arraylist中输入的邮
我知道这是一个基本问题,但我已经挣扎了很多天,找不到解决办法。请,任何建议将非常真诚地感谢。 我只是尝试将现有ArrayList中包含的元素(节点对象)添加到新的空ArrayList中。其思想是,如果我可以一次添加一个元素,那么我可以对1个元素的列表、2个元素的列表、3个元素的列表运行堆排序方法,以此类推。 但是,当使用for循环、while循环或甚至是增强的for循环时,我无法成功地添加元素并输
public void drop(字符串名称)--如果合适,从ArrayList中移除该项,并将其添加到当前房间。使用以下选项之一更新游戏的消息:1)玩家没有持有该项目,2)房间已经有一个项目,或者3)玩家已经成功地将该项目放入房间。这是此方法的目标,但当我运行它时,它总是跳到else语句中的currentMessage。 问题:我遇到的问题是,当我运行这个方法并试图将一个项目放到房间中时,它没有
但是,后来当我试图将整数添加到正确的“内部”数组列表中时,我无法将整数添加到ArrayList类型的位置中。我还得到一个索引超出界限的错误。 解决这个问题的方法是将整数强制转换为ArrayList类型,但这意味着我将在内部数组列表中添加一个数组列表,这不是我想要的。我想在正确的“内部”ArrayList中添加一个int。