改错 public List<User>list=new ArrayList<User>() { Connection conn = DbHelper.getConnection(); String sql="select * from user"; try { PreparedStatement pst=conn.prepareStatement(sql); ResultSet rst=pst.executeQuery(); while(rst.next()) { User user=new User(); user.setId(rst.getInt("id")); user.setName(rst.getString("name")); user.setAge(rst.getInt("age")); list.add(user); } rst.close(); pst.close(); }catch (SQLException e) { e.printStackTrace(); } return list; }
时间: 2024-03-20 13:39:31 浏览: 182
你给的代码存在语法错误。如果你想要定义一个列表并将其初始化为从数据库中检索到的用户信息,你需要这样写:
```java
public List<User> list = new ArrayList<>();
public List<User> getUsers() {
Connection conn = DbHelper.getConnection();
String sql = "select * from user";
try {
PreparedStatement pst = conn.prepareStatement(sql);
ResultSet rst = pst.executeQuery();
while (rst.next()) {
User user = new User();
user.setId(rst.getInt("id"));
user.setName(rst.getString("name"));
user.setAge(rst.getInt("age"));
list.add(user);
}
rst.close();
pst.close();
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
```
在这段代码中,我将列表和方法分开定义。列表是一个公共的类属性,而方法则是用来返回列表的。这样可以更好的组织代码。同时,我还将列表初始化为空列表,并将从数据库中检索到的用户信息添加到列表中。注意,如果你在这个类的其他方法中修改了这个列表,那么这个方法返回的列表也会受到影响。
阅读全文