您好,我需要检查程序中的扩展名是否已经存在,以及是否确实阻止了将其输入到条目列表中并弹出一个对话框。目前,使用下面的代码,我现在无法再插入任何内容,因为据说所有内容都是相同的。我觉得我在犯一个基本的白痴错误,但我看不到它。

 private void addNewEntry()
{
    // TODO add code to create a new entry
    // should show appropriate error if unable to create the entry
    // update the UI
    // update the data file by calling updateDataFile
    String fileExtension, program;
    String repeatExtension;

    fileExtension = txtAddExtension.getText();
    if (!fileExtension.substring(0,1).equals("."))
        fileExtension = "." + fileExtension;
     repeatExtension = fileExtension;
    program = txtAddProgram.getText();

    if(fileExtension.equalsIgnoreCase(repeatExtension))
    {
        JOptionPane.showMessageDialog(txtList, "Matching extension", "Error", JOptionPane.ERROR_MESSAGE);

    }

    else
    {
    Association assoc = new Association(fileExtension, program);

    assocList.add(assoc);
    updateDataFile();

    try {
        doc.remove(0, doc.getLength());


        doc.insertString(doc.getLength(), "Entry added\n" + assoc.toString() + "\n", null);

    } catch (BadLocationException e) {

        e.printStackTrace();
    }

    listAll();
}

}

最佳答案

您正在将repeatExtension分配给与fileExtension相同的对象,然后再检查它们是否相等,因此检查将始终为true

     repeatExtension = fileExtension;

10-05 18:25