0

我正在编写一个 Swing 应用程序来管理我的 Gsuite 域中用户的 Gmail 设置,但是我检查更改的方法对于长值没有按预期运行。它接受一个带有新设置的参数(在本例中为假期设置),并将其与之前检索到的设置进行比较。

我正在检索我的设置并单击保存按钮而不进行任何更改,并且我的方法记录了更改。它看到 startTime 和 endTime (都是 long )属性发生了变化,而这些属性都没有。我知道是这些属性,因为当我将这些属性注释掉时,它会按预期工作。

private void updateVacation(VacationSettings settings) {
        boolean isModified = false;

        if(!vacationSettings.isEmpty()) {
            if(!Objects.equals(vacationSettings.getEnableAutoReply(), settings.getEnableAutoReply()) ||
                    !Objects.equals(vacationSettings.getStartTime(), settings.getStartTime()) ||
                    !Objects.equals(vacationSettings.getEndTime(), settings.getEndTime()) ||
                    !Objects.equals(vacationSettings.getResponseSubject(), settings.getResponseSubject()) ||
                    !Objects.equals(vacationSettings.getResponseBodyPlainText(), settings.getResponseBodyPlainText()) ||
                    !Objects.equals(vacationSettings.getRestrictToContacts(), settings.getRestrictToContacts()) ||
                    !Objects.equals(vacationSettings.getRestrictToDomain(), settings.getRestrictToDomain())) {
                isModified = true;
            }
        }

        if(isModified) {
            // TODO:Update vacation settings
            Logger.getLogger(MainFrame.class.getName()).log(Level.INFO, settings.toString());
        }
    }
4

0 回答 0