equals方法的使用

对于字符串来说,使用“==”运算符和“equals()”方法来比较,其比较方式不同。==运算符用于比较两个变量本身的值,即两个对象在内存中的首地址;equals()方法比较的是两个字符串中所包含的内容是否相同。对于非字符串类型的变量来说,==运算符和equals()方法都是用来比较所指对象在堆内存中的首地址,即比较两个类类型的变量是否指向同一个对象。

class Test {
	int x=1;
}
public class ep3_1{
	public static void main(String[] args){
		Test one=new Test();
		Test two=new Test();
		String a1,a2,a3="abc",a4="abc";
		a1=new String("abc");
		a2=new String("abc");
		System.out.println("a1.equals(a2)"+(a1.equals(a2)));
		System.out.println("a1==a2"+(a1==a2));
		System.out.println("a1.equals(a3)"+(a1.equals(a3)));
		System.out.println("a1==a3"+(a1==a3));
		System.out.println("a3.equals(a4)"+(a1.equals(a4)));
		System.out.println("a3==a4"+(a3==a4));
		System.out.println("one.equals(two)"+(one.equals(two)));
		System.out.println("one==two"+(one==two));
		one=two;
		System.out.println("赋值后 one.equals(two)"+(one.equals(two)));
		System.out.println("赋值后 one==two"+(one==two));
	}
}

执行结果

a1.equals(a2)true
a1.equals(a3)true
a1==a3false
a1==a2false
a3.equals(a4)true
a3==a4true
one.equals(two)false
one==twofalse
赋值后 one.equals(two)true
赋值后 one==twotrue
原文地址:https://www.cnblogs.com/gc56-db/p/6847540.html