我要做的是将数据库中的数据放入Arraylist。
我有一个包含沼泽的数据库和一个简单的表格:Player,其中有一个名称和一个分数。
我正在尝试将所有这些播放器都放入ArrayList中,但是我尝试执行的操作不起作用,因为ArrayList是Player类型,而我输入的类型是String和int。
这是我现在拥有的代码:
public int test1() {
try {
ArrayList<Player> playerList= new ArrayList<Player>();
BD=ds.getConnection();
Statement s = BD.createStatement();
ResultSet p = s.executeQuery("SELECT * FROM player");
int i = 0;
while(p.next()) {
i++;
playerList.add(p.getString("name")); //did not work
playerList.add(p.getInt("score");
}
s.close();
BD.close();
return 1;
} catch (java.sql.SQLException ex) {
return 0;
}
}
有人知道如何做的事,我将非常感谢。
私下
答案 0 :(得分:0)
playerList将仅接受Player对象,而不接受String或int。因此,使用手边的数据创建一个Player对象,然后将其添加到列表中:
while(p.next()) {
i++;
String name = p.getString("name");
int score = p.getInt("score");
Player player = new Player(name, score); // assuming such a constructor exists
// playerList.add(p.getString("name")); //did not work
// playerList.add(p.getInt("score");
// do this:
playerList.add(player);
}
答案 1 :(得分:0)
您有一个玩家列表,并且您正在尝试向其中添加一个字符串和一个整数。
ArrayList<Player> playerList= new ArrayList<Player>();
...
playerList.add(p.getString("name")); //did not work
playerList.add(p.getInt("score");
...
您可以按照@Hovercraft Full Of Eels的建议,并在添加到列表之前创建一个新的Player:
Player player = new Player(p.getString("name"), p.getInt("score"));
playerList.add(player);