我如何从列中获取价值? (Java)

How can i take value from column? (Java)

我做简单的警报,如果第 0 列的值 == 今天,我需要显示警报。

    Calendar cal = new GregorianCalendar();
    int day = cal.get(Calendar.DAY_OF_MONTH);        

      try {

        File currDir= new File ("Baza.db");
        String sc = currDir.getAbsolutePath();
         sc = sc.substring(0, sc.length());

         String url = "jdbc:sqlite://"+sc;
         Connection conn = DriverManager.getConnection(url);
         Statement stmt  = conn.createStatement();
         ResultSet rs = stmt.executeQuery("SELECT Day FROM Month");

         jTable1.setModel(DbUtils.resultSetToTableModel(rs));
         if(jTable1.getValueAt(0, 0).equals(day)){
          JOptionPane.showMessageDialog(null, "Do your question!");
      }
    } catch (SQLException e) {
        JOptionPane.showMessageDialog(null, e);
    }

我尝试使用方法 getColumn、getColumnModel 和 getSelectedColumn,但没有与我的计算进行比较..

你的 day 变量是 intjTable1.getValueAt(0, 0) return 一个 Object 类型,因此两者都是不同的类型,并且总是 return false 经过比较。

因为你想比较它们作为字符串的相等性,因此你应该改变你的比较,

if(jTable1.getValueAt(0, 0).equals(day)){

到,

if(String.valueOf(jTable1.getValueAt(0, 0)).equals(String.valueOf(day))){

或者,您可以将 Jtable 列中的值解析为 int,然后像这样比较整数值,

if(Integer.parseInt(jTable1.getValueAt(0, 0).toString()) == day){

但是,我更喜欢第一种方式来比较字符串,因为第二种方式可以 运行 变成 NumberFormatException