Java 数据匹配,即使程序在excel-Selenium web驱动程序中将resukt设置为FALSE
我创建了将控制台输出与excel单元格数据匹配的程序,并根据数据匹配打印“真”-“假”。问题是我的数据在这里100%匹配,然后在excel中打印“FALSE”,为什么 代码如下:Java 数据匹配,即使程序在excel-Selenium web驱动程序中将resukt设置为FALSE,java,excel,selenium,selenium-webdriver,conditional-statements,Java,Excel,Selenium,Selenium Webdriver,Conditional Statements,我创建了将控制台输出与excel单元格数据匹配的程序,并根据数据匹配打印“真”-“假”。问题是我的数据在这里100%匹配,然后在excel中打印“FALSE”,为什么 代码如下: //CODE TO REMOVE UNNECESSARY WARNING System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.Jdk14Logger"); //C
//CODE TO REMOVE UNNECESSARY WARNING
System.setProperty("org.apache.commons.logging.Log",
"org.apache.commons.logging.impl.Jdk14Logger");
//CALL FIREFOX DRIVER TO OPEN IT
WebDriver driver = new FirefoxDriver();
//GETTING PAGE , OPEN IT IN BROWSER AND GET PAGE TITLE TO PRINT IT
driver.get("http://en.wikipedia.org/wiki/Software_testing");
String title = driver.getTitle();
System.out.println(title);
//EXCEL FILE READING
FileInputStream input = new FileInputStream("D:\\sel.xls");
int count=0;
HSSFWorkbook wb = new HSSFWorkbook(input);
HSSFSheet sh = wb.getSheet("sheet1");
HSSFRow row = sh.getRow(count);
String data = row.getCell(1).toString();
System.out.println(data);
//CONDITION TO MATCH CONSOLE OUTPUT WITH EXCEL CELL DATA VALUE
if(title==data)
{
FileOutputStream webdata = new FileOutputStream ("D:\\sel.xls");
row.createCell(10).setCellValue("TRUE");
wb.write(webdata);
}
else
{
FileOutputStream webdata = new FileOutputStream ("D:\\sel.xls");
row.createCell(11).setCellValue("FALSE");
wb.write(webdata);
}
driver.close();
wb.close();
input.close();
}
}
标题和数据是两个不同的对象,意味着持有两个不同的引用。==符号将与引用匹配,而不是精确的值。改为使用equals() 使用 而不是
if(title==data)
嘿令人惊叹的。是的,它起作用了。但是为什么不工作呢。我们什么时候可以使用==??确切地说?如前所述,如果您只是想检查内容,那么最佳赌注是相等的(这有点昂贵)。如果确定对象引用,则选择==。更多的信息是关于感谢很多。有实际的概念。
if(title==data)