ArrayList保持返回0

Rau*_*ryn 0 java sql arraylist

我从数据库中检索数据并通过数组循环它以显示相似的数量.

        public void SetUpLikeAmount() {
    int likes = 0;
    ArrayList <Integer> likeArray = new ArrayList <Integer>();
    for (int count = 0; count < likeArray.size();count++){
    // Set Up Database Source
    db.setUp("IT Innovation Project");
    String sql = "Select likeDislike_likes from forumLikeDislike WHERE topic_id = "
            + topicId + "";
    ResultSet resultSet = null;
    // Call readRequest to get the result
    resultSet = db.readRequest(sql);
    try {
        while (resultSet.next()) {
            likeArray.add(Integer.parseInt(resultSet.getString("likeDislike_likes")));
            likes += likeArray.get(count);
        }
        resultSet.close();
    } catch (Exception e) {
        System.out.println(e);
    }

    }
    jLabel_like.setText(Integer.toString(likes));
}
Run Code Online (Sandbox Code Playgroud)

但是,它一直返回0.先谢谢.

Jon*_*eet 5

(顺便说一句,它永远不会返回任何东西 - 你发布了一个void方法.)

看看这段代码:

ArrayList <Integer> likeArray = new ArrayList <Integer>();
for (int count = 0; count < likeArray.size();count++){
    ...
}
Run Code Online (Sandbox Code Playgroud)

你刚刚创建了一个新的 ArrayList<Integer>,因此大小为0.因此,循环总是立即完成,而不会执行正文.

如果您试图从其他地方创建的列表中获取输入,您应该将其传递给您的方法.(您还应该使用PreparedStatement带参数的参数,而不是直接在SQL中包含该值.)