JAvaにおけるString equalと==の違い、およびStringBuffer


ネット上でStringのequalsと==についての資料はとても多くて、昨日多くの文章を見てすべて間違いがあって、自分で必ずコードを実行して識別を確認しなければなりません.簡単にまとめると、皆さんの役に立つことを望んでいます.もし間違いがあれば、指摘を歓迎して、みんなはお互いに勉強して、一緒に進歩します.
    :equals        ,==             。
 
 
package com.char3;
public class StringTest {
	
	/**
	 * StringBuffer                  ,                 
	 *       :
	 * is equal true
	 * is == true
	 *   :sb sb1        
	 */
	public static void useStringBuffer(){
		StringBuffer sb = new StringBuffer("sb  ");
		StringBuffer sb1= sb.append(",  ");
		System.out.println("is equal "+sb.equals(sb1));
		System.out.println("is == " + (sb==sb1));
	}
	/**
	 * String     s, s     str
	 *       :
	 * is equal true
	 * is == true
	 *   :s  str     ,       
	 */
	public static void useString(){
		String s = "  ";
		String str = s ;
		System.out.println("is equal "+s.equals(str));
		System.out.println("is == "+(s == str));
	}
	/**
	 * String   str1    “nihao”      ,   str2                    ,            str2
	 *       :
	 * is equal true
	 * is == true
	 *   :str1 str2    ,       
	 */
	public static void useString1(){
		String str1="nihao";
		String str2 = "nihao";
		System.out.println("is equal "+str1.equals(str2));
		System.out.println("is == "+(str1==str2));
	}
	/**
	 * String            ,str     s   ,          ,          str
	 *          :
	 * is equal false
	 * is == false
	 *   :s   str    ,       
	 */
	public static void useString2(){
		String s = "  ";
		String str = s+"chenrui" ;
		System.out.println("is equal "+s.equals(str));
		System.out.println("is == "+(s == str));
	}
	public static void main(String[] args) {
		useStringBuffer();
		useString();
		useString1();
		useString2();
	}
}
ネット上でStringのequalsと==についての资料はとても多くて、昨日多くの文章がすべて间违っていることを见て、简単に以下を総括して、みんなを助けることができることを望んで、もし间违いがあれば指摘を歓迎して、みんなは互いに勉强して、共に进歩します.
個人のまとめ:equalsは比較値が同じかどうか、==は参照アドレスが同じかどうかを比較します.