JAva Stringのequals,internメソッド


java String equals,intern  

JAVA  equals ==   

==    2      , equals    2      。

  , equals true ,==    true;

 

        ,         ,      

                   

           ,    String             

public class TestString {

    public static void main(String[] args) {

        String s1 = "Monday";

        String s2 = "Monday";

    }

}

      ?

1.    String    

       ,        ?

         :  ,s1   s2

   ?

String   final  ,      。

         ,        ,        

        :

public class TestString {

    public static void main(String[] args) {

        String s1 = "Monday";

        String s2 = "Monday";

        if (s1 == s2)

            System.out.println("s1 == s2");

        else

            System.out.println("s1 != s2");

    }

}

  ,               

       ,  :s1 == s2

 !

    s1 == s2 ?

==      :s1   s2       String    -- "Monday"!

2.       String

         ,        :

public class TestString {

    public static void main(String[] args) {

        String s1 = "Monday";

        String s2 = new String("Monday");

        if (s1 == s2)

            System.out.println("s1 == s2");

        else

            System.out.println("s1 != s2");

        if (s1.equals(s2))

            System.out.println("s1 equals s2");

        else

            System.out.println("s1 not equals s2");

    }

}

    s2   new      

    :

s1 != s2

s1 equals s2

 ,    

s1 s2       "Monday"String  

             ?

3.   String        

  ,           :

  ,                   

    s2 = "Monday"               ,     

   String            ,       ,s1  

     ,   s2      ,            s1

  s2    s1       "Monday"

      ,    new    ,        :

“      !    !”      "Monday"Sting    

     。      ,      ,       

       。  ,      ,              ?

4.     

      :

public class TestString {

    public static void main(String[] args) {

        String s1 = "Monday";

        String s2 = new String("Monday");

        s2 = s2.intern();

        if (s1 == s2)

            System.out.println("s1 == s2");

        else

            System.out.println("s1 != s2");

        if (s1.equals(s2))

            System.out.println("s1 equals s2");

        else

            System.out.println("s1 not equals s2");

    }

}

    :s2 = s2.intern();

 !    :

s1 == s2

s1 equals s2

  ,      s2   ,  intern()        

  ,   s2   s1           

             

5. ==   equals()    

String     ,        String        

       equals()     

             String  ,          equals ,

 ,  ,   

     :

    String intern()      

     new          

String s2 = new String("Monday").intern();

 ,           ?  

            ==     String      

    ,     !



    CSDN  ,       :http://blog.csdn.net/ameyume/archive/2010/08/16/5815756.aspx