我知道的==和equals的区别

package jihe;
/**
 * ==和equals的区别
 * @author 赵中杰
 *
 */
//==比较的是两个对象的地址   equals比较的是两个对象的内容
public class Test {
	public static void main(String[]args){
		Test tt=new Test();
		tt.test1();
		tt.test2();
	}
	//同地址同内容
	public void test1(){
		String st1="one";
		String st2="one";
		if(st1==st2){
			System.out.println("st1=st2");
		}else{
			System.out.println("st1!=st2");
		}
		if(st1.equals(st2)){
			System.out.println("st1 equals st2");
		}else{
			System.out.println("st1 not equals st2");
		}
		System.out.println("---------------------");
		//运行之后输出地结果为st1=st2
		//st1 equals st2
		//---------------------
	}
	//不同地址同内容
	public void test2(){
		String st1="one";
		String st2=new String("one");
		if(st1==st2){
			System.out.println("st1=st2");
		}else{
			System.out.println("st1!=st2");
		}
		if(st1.equals(st2)){
			System.out.println("st1 equals st2");
		}else{
			System.out.println("st1 not equals st2");
		}
		System.out.println("---------------------");
		//运行之后输出地结果为st1!=st2
		//st1 equals st2
		//---------------------
	}
}

  

你可能感兴趣的:(equals)