关于equals()方法和==的区别

public class Test {
	public static void main(String[] args){
		//==比较的是2个对象的地址
		//equals比较的是2个对象的内容
		String s1="Monday";
		String s2="Monday";
		//s1与s2引用同一个String对象
		if(s1==s2)
			System.out.println("s1==s2");
		else
			System.out.println("s1!=s2");
		
		String s3=new String("Monday");
		if(s1==s3)
			System.out.println("s1==s3");
		else
			System.out.println("s1!=s3");
		
		s3=s3.intern();
		//检查字符串池中是否存在"Monday"字符串,
		//如果存在,就返回池里的字符串,
		//如果不存在,就把"Monday"添加到字符池中,在返回它的引用
		if(s1==s3)
			System.out.println("s1==s3");
		else
			System.out.println("s1!=s3");
		if(s1.equals(s3))
			System.out.println("s1 equals s3");
		else 
			System.out.println("s1 not equal s3");
	}
}

你可能感兴趣的:(试题,equals,string,class)