我正在使用 MySQL 数据库来保存我在 Java 中的提醒应用程序的信息。我正在尝试提取信息并将其存储在一个数组中,并将数组的每个元素与更新的当前时间戳进行比较。问题是我的代码给出了一个空指针异常,我不知道为什么。它在 LocalDateTime 不是数组时起作用,但是当我将它变成数组时它会抛出错误。它还要求我将其初始化为空值。
关于如何解决这个问题的想法?任何帮助表示赞赏。
这是有问题的方法。
public static LocalDateTime[] getReminderTime()
{
String SQL = "SELECT r_dateTime FROM reminder_database.reminder;";
LocalDateTime reminderTime[] = null;
try
{
Connection conn = main.getConnection();
java.sql.Statement stmt;
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(SQL);
if(rs.isBeforeFirst())
{
for(int i = 0; rs.next(); i++)
{
reminderTime[i] = rs.getTimestamp(1).toLocalDateTime();
}
}
rs.close();
stmt.close();
conn.close();
}
catch(Exception e)
{
System.out.println("Exception thrown with getReminderTime --> " + e + e.getStackTrace());
}
return reminderTime;
}
这是抛出的异常
Exception thrown with getReminderTime --> java.lang.NullPointerException[Ljava.lang.StackTraceElement;@6dfc1e5f
Exception thrown with getReminderTime --> java.lang.NullPointerException[Ljava.lang.StackTraceElement;@3b2da18f