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