欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

equal 和 ==

程序员文章站 2022-04-19 18:10:25
...

刚才看了一下别人的博客,想加深一下对 equal 和 == 的了解。

总结了几点:

1.equal 每个类都有必要覆盖一下,对于String 类,已经覆盖,比较的是String对象的字符序列是否相等。

2.== 比较的是内存中两个对象是否为同一个,即地址是否相等;而对于基本数据类型,比较的是字面数值是否一样。

package com.java.test;

import org.junit.Test;

public class MyEqual {

	@Test
	public void test() {
		
		int a1 = 10;
		int a2 = 10;
		
		Integer b1 = 10;
		Integer b2 = 10;
		
		String s1 = "abcd";
		String s2 = "abcd";
		String s3 = new String("abcd");
		
		
		System.out.println(a1 == a2);//true
		
		System.out.println(b1 == b2);//true
		System.out.println(b1.equals(b2));//true
		
		System.out.println(b1 == a1);//true
		System.out.println(b1.equals(a1));//true
		
				
		System.out.println(s1 == s2);//true
		System.out.println(s1 == s3);//false
		System.out.println(s1.equals(s3));//true
	}

}