获取Java错误无法解析为变量

时间:2014-09-04 23:39:22

标签: java sql variables

我对此进行了搜索,但我似乎无法找到正确的答案。我正在尝试从数据库中提取数据并将一堆对象添加到ArrayList中。我的IDE告诉我,messages.add(objMessage)行中的objMessage无法解析为变量。当我在函数开头声明ArrayList messages = null时,为什么告诉我这个?

谢谢!

    ArrayList<Message> messages = null;

    try {
        sqlConn = ds.getConnection();           
        sqlConnector = new SQLConnector(sqlConn);
        String sql = "SELECT * FROM table WHERE thing = 1;";

        rs = sqlConnector.getData(sql);

        while(rs.next()) {
            String stuff = rs.getString("stuff");

            if(stuff.toUpperCase().contains(stuff.toUpperCase())) {
                int id = rs.getInt("id");
                String data = rs.getString("data");
                Date time = rs.getDate("time");
                Message objMessage = new Message(id, time, data);
            }

            messages.add(objMessage);   
        }
      catch(Exception e) {
     // catch exception
      } 

1 个答案:

答案 0 :(得分:2)

您的变量objMessageif块的大括号内声明。它不存在于该块之外。大概将您的行messages.add(objMessage)移动到if块将消除该特定错误。

但是你的messages对象为空,所以你仍然无法向它添加任何内容。