java 中String的equals()方法是什么?

Python017

java 中String的equals()方法是什么?,第1张

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)