请解释为什么。。。如果(driver.getTitle()==“Google”。。。在Selenium中总是返回false?

请解释为什么。。。如果(driver.getTitle()==“Google”。。。在Selenium中总是返回false?,selenium,Selenium,有人能解释一下这两行代码之间的区别吗?第一行返回true作为结果,而第二行代码总是返回false。我已经确认了driver.getTitle()在我的例子中返回“Google” 以下是完整的代码供参考: package org.test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.testng.Assert; public class t

有人能解释一下这两行代码之间的区别吗?第一行返回true作为结果,而第二行代码总是返回false。我已经确认了
driver.getTitle()
在我的例子中返回“Google”

以下是完整的代码供参考:

package org.test;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;

public class test{
public static void main(String[] args){

WebDriver driver;
driver = new FirefoxDriver();
driver.get("http://www.google.com");

String title = driver.getTitle();

// Assert.assertEquals(title, "GoogleFAIL", "Test case has been FAILED");
//if (driver.getTitle().equals("Google"))

if (driver.getTitle() == "Google"){
    System.out.println("Test case has been passed.");
} else
{
    System.out.println("Test case has been failed.");
}
driver.close();
}
}

这里基本上都用于比较字符串,但主要区别在于
equals()
用于比较两个对象的值和状态,其中as
=
称为引用相等,这意味着
=
用于检查堆上两个对象的内存位置是否相同,但不是值


这里有更多信息

它的字符串==vs等于-明白了。。谢谢你,伙计。!
package org.test;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;

public class test{
public static void main(String[] args){

WebDriver driver;
driver = new FirefoxDriver();
driver.get("http://www.google.com");

String title = driver.getTitle();

// Assert.assertEquals(title, "GoogleFAIL", "Test case has been FAILED");
//if (driver.getTitle().equals("Google"))

if (driver.getTitle() == "Google"){
    System.out.println("Test case has been passed.");
} else
{
    System.out.println("Test case has been failed.");
}
driver.close();
}
}