我试着以不同的方式编写我的程序,但我无法弄明白..即使条件得到验证,程序也只执行其他代码 请有人帮帮我 谢谢
这是我的代码:
table.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
int row = table.getSelectedRow();
int col = table.getSelectedColumn();
String path=table.getValueAt(row, col).toString();
String equipementMOID=txt.getText();
if(table.isColumnSelected(4) ){
if(table.getValueAt(row, 3).toString()=="UNIT" ){
String equipementDate2=comboBox_10.getSelectedItem().toString();
String xmlFile2=con.XMLSelection(equipementDate2);
GetNode ne=new GetNode();
try{
String equipementXml2=ne.nodeToString(xmlFile2, equipementMOID);
System.out.println(equipementXml2);
//GetNodeByPath node=new GetNodeByPath(equipementXml2,path);
}
catch (SAXException | IOException | ParserConfigurationException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
else{
String equipementDate1=comboBox_9.getSelectedItem().toString();
String xmlFile1=con.XMLSelection(equipementDate1);
GetNode ne=new GetNode();
try{
String equipementXml1=ne.nodeToString(xmlFile1, equipementMOID);
GetNodeByPath node=new GetNodeByPath(equipementXml1,path);
}
catch (SAXException | IOException | ParserConfigurationException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
}
});
答案 0 :(得分:1)
使用string.equals(String other)函数来比较字符串,而不是==运算符。
该函数检查字符串的实际内容,==运算符检查对象的引用是否相等。 如果你真的想测试两个字符串是否具有相同的值,你应该使用.equals()
if(table.isColumnSelected(4) ){
if(table.getValueAt(row, 3).toString().equals("UNIT") ){
答案 1 :(得分:0)
请在if
条件
table.getValueAt(row, 3).toString().equals("UNIT")
==
实际检查object
对象的引用(将其视为String
存储的位置),而equals()
检查value
如果是String