可能重复:
如何比较Java中的字符串?
我是以错误的方式比较字符串吗?请告诉我如何正确比较?谢谢.
private void deleteButtonActionPerformed(java.awt.event.ActionEvent evt) {
String selectedVal = (String) jList1.getSelectedValue();
AbstractListModel model = (AbstractListModel) jList1.getModel();
int numberElements = model.getSize();
final String[] allElements = new String[numberElements + 1];
for (int i = 0; i < numberElements - 1; i++) {
String val = (String) model.getElementAt(i);
***if (selectedVal != val)*** {
allElements[i] = (String) model.getElementAt(i);
}
}
controller.deleteButtonClicked(selectedVal);
jList1.setModel(new javax.swing.AbstractListModel() {
String[] strings = allElements;
public int getSize() {
return strings.length;
}
public Object getElementAt(int i) {
return strings[i]; …
Run Code Online (Sandbox Code Playgroud) 在此代码中,当我从列表中间选择一个元素并删除时,所选元素下面的元素也会从"视图"中删除.但它们存在于数据库中,并在应用程序运行时再次出现.请帮我解决这个错误.谢谢.
DeleteController delController = new DeleteController();
delController.deleteInfo(dbId);
this.jList1 = list;
AbstractListModel model = (AbstractListModel) jList1.getModel();
int numberElements = model.getSize();
final String[] allElements = new String[numberElements + 1];
for (int i = 0; i < numberElements - 1; i++) {
String val = (String) model.getElementAt(i);
if (!dbId.equals(val)) {
allElements[i] = (String) model.getElementAt(i);
}
}
jList1.setModel(new javax.swing.AbstractListModel() {
String[] strings = allElements;
public int getSize() {
return strings.length;
}
public Object getElementAt(int i) {
return strings[i];
}
});
Run Code Online (Sandbox Code Playgroud)