JAVA 两个相等的字符串 return false
JAVA two equal strings return false
我有一个 JTable,我需要检查 JTable 在我的数据库中是否有一个条目等于一个条目(确实如此)。但是当我检查它时,它给了我 false 。两者的结果相同( Cat 和 Cat )。
ResultSet resultset;
try {
// Query declaration, etc
while(resultset.next()){
String name = resultset.getString(1);
int quantity = resultset.getInt(2);
checkListQuantity(name, quantity);
}
public void checkListQuantity(String name, int quantity){
String string = String.format("%-40s", name);
for(int i = 0; i < table.getRowCount(); i++){
System.out.println("Name :"+name);
System.out.println("Column :"+ model.getValueAt(i, 1));
System.out.println(name.equals(String.valueOf(model.getValueAt(i, 1))));
}
}
}
尝试调整您的价值观:
System.out.println(name.trim().equals(String.valueOf(model.getValueAt(i, 1).trim())));
尝试:
System.out.println("Name : #"+name+"#");
System.out.println("Column : #"+ model.getValueAt(i, 1)+"#");
System.out.println(name.equals(String.valueOf(model.getValueAt(i, 1))));
查看空格
我有一个 JTable,我需要检查 JTable 在我的数据库中是否有一个条目等于一个条目(确实如此)。但是当我检查它时,它给了我 false 。两者的结果相同( Cat 和 Cat )。
ResultSet resultset;
try {
// Query declaration, etc
while(resultset.next()){
String name = resultset.getString(1);
int quantity = resultset.getInt(2);
checkListQuantity(name, quantity);
}
public void checkListQuantity(String name, int quantity){
String string = String.format("%-40s", name);
for(int i = 0; i < table.getRowCount(); i++){
System.out.println("Name :"+name);
System.out.println("Column :"+ model.getValueAt(i, 1));
System.out.println(name.equals(String.valueOf(model.getValueAt(i, 1))));
}
}
}
尝试调整您的价值观:
System.out.println(name.trim().equals(String.valueOf(model.getValueAt(i, 1).trim())));
尝试:
System.out.println("Name : #"+name+"#");
System.out.println("Column : #"+ model.getValueAt(i, 1)+"#");
System.out.println(name.equals(String.valueOf(model.getValueAt(i, 1))));
查看空格