java 中equals和==的區別

package com.xiaowustyles;
/*
 *  ==可用於 
 * 基本類型和引用類型:
 *    當用於基本類型時候,是比較值是否相同;
 *    當用於引用類型的時候,是比較對象是否相同
 *  
 *  
 *  "=="和"!="   比較的是"棧"中的內容
 *  equals()     比較的是"堆"中的內
 * */
public class EqualsDemo {
	public static void main(String[] args)
	{
		method_2();
	}
	public static void method_2()
	{
		String str="a";
		String str2="a";
		//特有對象創建方式,==的時候值是相同的  如  String  str="a"  Integer i=10 
		//創建str2時候會先到字符串連接池裏面查找是否有a 當有的時候就不創建新的 指向同一對象了 
		//當沒有的時候就創建新的
		System.out.println(str==str2);//true
		System.out.println(str.equals(str2));//true
		String a=new String("123");
		String b=new String("123");
		System.out.println(a==b);//false
	}
	public  static void method_1()
	{
		int a=10;
		int b=10;
		//當==用於基本類型的時候比較的是值是否相同
		System.out.println(a==b);//true

		Integer  i=new Integer(10);
		Integer  ii=new Integer(10);
		// 當==用於引用類型的時候比較的是對象是否相同
		System.out.println(i==ii);//false  不是同一對象
	}


}


發佈了51 篇原創文章 · 獲贊 1 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章