java.lang.String.equals() 方法比较字符串与指定的对象。其结果是true当且仅当参数不为null,并且是一个String对象,这个对象表示相同的字符序列
声明
以下是声明java.lang.String.equals()方法
public boolean equals(Object anObject)
参数
anObject -- 这是这个String对比较的对象
返回值
此方法返回true如果给定对象代表一个字符串,这个字符串,否则返回false
异常
NA
实例
下面的例子显示使用的java.lang.String.equals()方法
package com.pieryon
import java.lang.*
public class StringDemo {
public static void main(String[] args) {
String str1 = "sachin tendulkar"
String str2 = "amrood admin"
String str3 = "amrood admin"
// checking for equality
boolean retval1 = str2.equals(str1)
boolean retval2 = str2.equals(str3)
// prints the return value
System.out.println("str2 is equal to str1 = " + retval1)
System.out.println("str2 is equal to str3 = " + retval2)
}
}
编译和运行上面的程序,这将产生以下结果:
str2 is equal to str1 = false
str2 is equal to str3 = true
java中的==是用来判断对象所使用的内存地址是不是同一个,进而判断是不是同一个对象。例如 objA == objB注意这里是同一个对象才会是true,如果不是同一个对象,哪怕两个对象所有属性都相同也会返回false。
而equals则是一个方法,你可以为自己的类编写equals方法来判断是不是相等。这里String类就提供了equals方法来判断两个String对象是不是相同,而不是去判断两个String对象是不是同一个对象,因为我们一般使用中,只关心两个字符串内容相同与否,而不会关心是不是同一个对象。
equals 是比较的两个字符串是否一样比如 “asd”.equals(“asd”)==true
"==" 它比较的是两个“引用”
比如:
String a=new String ("a")
String b=new String ("a")
System.out.println(a==b)它就输出false了
因为不是一个引用啊(虽然都是a)