CodeGym /ื‘ืœื•ื’ Java /Random-HE /Java String ืฉื•ื•ื”()
John Squirrels
ืจึธืžึธื”
San Francisco

Java String ืฉื•ื•ื”()

ืคื•ืจืกื ื‘ืงื‘ื•ืฆื”
ื”ืฉื•ื•ืืช ืื•ื‘ื™ื™ืงื˜ื™ื ืœืฆื•ืจืš ืฉืงื™ืœื•ืช ื”ื™ื ืื—ืช ืžืคืขื•ืœื•ืช ื”ืชื›ื ื•ืช ื”ื—ืฉื•ื‘ื•ืช ื‘ื™ื•ืชืจ. ืขื ื–ืืช, ืœืžืจื•ืช ื›ืœ ื”ืžื•ื‘ืŸ ืžืืœื™ื• ื‘ืขื•ืœื ื”ืžืกืคืจื™, ืœื ืชืžื™ื“ ื‘ืจื•ืจ ื›ื™ืฆื“ ืœื”ืฉื•ื•ืช ืกื•ื’ื™ ื ืชื•ื ื™ื ืื—ืจื™ื. ืžื—ืœืงืช Java Object , ื‘ืกื™ืกื™ืช, ืžื’ื“ื™ืจื” ืืช ื”ืฉื™ื˜ื•ืช equals() ื•- compareTo() ืœื”ืฉื•ื•ืื”. ืžื—ืœืงื” ืžื—ืจื•ื–ืช ืขื•ืงืคืช ืืช ืฉื™ื˜ืช equals() ืฉืœื” . ื”ืฉื™ื˜ื” Java String equals() ืžืฉื•ื•ื” ืฉืชื™ ืžื—ืจื•ื–ื•ืช ื‘ื”ืชืื ืœืชื•ื›ืŸ ืฉืœื”ืŸ. ื—ืชื™ืžืช ื”ืžืชื•ื“ื” String equals() ื ืจืื™ืช ื›ืš:

public boolean equals(Object anotherObject) 
ืฉื™ื˜ืช String equals() ืžืฉื•ื•ื” ืืช ื”ืžื—ืจื•ื–ืช ืœืื•ื‘ื™ื™ืงื˜ ืฉืฆื•ื™ืŸ. ืื ื”ืžื—ืจื•ื–ื•ืช ืฉื•ื•ืช, ื–ื” ืžื—ื–ื™ืจ ืืžืช, ืื—ืจืช ื–ื” ืฉืงืจ. ืื•ืœื™ ืืชื” ืชื•ื”ื” ืœืžื” ืœื ืœื”ืฉื•ื•ืช ืžื—ืจื•ื–ื•ืช ื‘ืืžืฆืขื•ืช ืื•ืคืจื˜ื•ืจ ื”ื”ืฉื•ื•ืื” == ? ืœืžืขืฉื”, ื–ื” ื’ื ืืคืฉืจื™, ืื‘ืœ ื”ืชื•ืฆืื” ืชื”ื™ื” ืฉื•ื ื” ื‘ืžืงืฆืช. ื”ืขื•ื‘ื“ื” ื”ื™ื ืฉื”ืื•ืคืจื˜ื•ืจ == ืžืฉื•ื•ื” ื›ืชื•ื‘ื•ืช ื‘ื–ื™ื›ืจื•ืŸ. ืื– ืื s1 == s2 ืžื—ื–ื™ืจื” true , ืœืฉืชื™ ื”ืžื—ืจื•ื–ื•ืช ื”ืœืœื• ื™ืฉ ืื•ืชื” ื›ืชื•ื‘ืช ื‘ื–ื™ื›ืจื•ืŸ. ื‘ืžืงื‘ื™ืœ, equals ื‘ื•ื“ืง ืืช ืชื•ื›ืŸ ื”ืžื—ืจื•ื–ื•ืช ืœืฉื•ื•ื™ื•ืŸ. ืžื—ืจื•ื–ืช Java ืฉื•ื•ื”() - 1ื ื™ืงื— ื“ื•ื’ืžื” ืœื”ืฉื•ื•ืื” ื‘ื™ืŸ ืฉืชื™ ืžื—ืจื•ื–ื•ืช.

public class StringEqualsTest {
   //program to test Java equals() method
   public static void main(String[] args) {
       String myString1 = "here is my favorite string";
       String myString2 = "here is my favorite string"; //this string is the same as the previous one, at least we think so 
       String myString3 = "here is My favorite string"; //this string looks a little bit like previous two, but the first letter is big M instead of small m       
       String myString4 = new String("here is my favorite string");
//here we create a String in an object mannerโ€ฆ Why? Find out soon  
       String myString5 = "equals to myString1? No, not at all..."; //here we have absolutely different string. Just for fun 
    //letโ€™s compare myString1 with myString2 using โ€œ==โ€ operator  
       System.out.println(myString1 == myString2); //true
    //letโ€™s compare myString1 with myString4 using โ€œ==โ€ operator  
       System.out.println(myString1 == myString4); //false    
//and now we are going to use equals() method to compare myString1 with myString4, myString2 and myString5  
     System.out.println(myString1.equals(myString4));//true
       System.out.println(myString1.equals(myString2));//true
       System.out.println(myString1.equals(myString5)); //false

   }
}
ื”ืคืœื˜ ืฉืœ ืชื•ื›ื ื™ืช ื–ื• ื”ื•ื:
ื ื›ื•ืŸ ืœื ื ื›ื•ืŸ ื ื›ื•ืŸ ืœื ื ื›ื•ืŸ
ื‘ื•ืื• ื ืกืชื›ืœ ืžืงืจื•ื‘ ืขืœ ืžื” ืฉืงื•ืจื” ื›ืืŸ. ื›ืืฉืจ ืื ื• ื™ื•ืฆืจื™ื ืžื™ืชืจ, ื”ื•ื ืžืžื•ืงื ื‘ื‘ืจื™ื›ืช ื”ืžื™ืชืจื™ื, ืื–ื•ืจ ืžื™ื•ื—ื“ ืฉืœ ื–ื™ื›ืจื•ืŸ. ืžื—ืจื•ื–ื•ืช ืชื•ืคืกื•ืช ื—ืœืง ืขืฆื•ื ืžื›ืœ ื”ืื•ื‘ื™ื™ืงื˜ื™ื ื‘ื›ืœ ืชื•ื›ื ื™ืช ื’ื“ื•ืœื”. ืื– ื›ื“ื™ ืœื—ืกื•ืš ื‘ื–ื™ื›ืจื•ืŸ ื ื•ืฆืจ String Pool, ืฉื‘ื• ืžืžื•ืงืžืช ืžื—ืจื•ื–ืช ืขื ื”ื˜ืงืกื˜ ืฉืืชื” ืฆืจื™ืš. ืงื™ืฉื•ืจื™ื ื—ื“ืฉื™ื ืฉื ื•ืฆืจื• ืžืื•ื—ืจ ื™ื•ืชืจ ืžืชื™ื™ื—ืกื™ื ืœืื•ืชื• ืื–ื•ืจ ื–ื™ื›ืจื•ืŸ, ืื™ืŸ ืฆื•ืจืš ืœื”ืงืฆื•ืช ื–ื™ื›ืจื•ืŸ ื ื•ืกืฃ ื‘ื›ืœ ืคืขื. ืื ืืชื” ื™ื•ืฆืจ ืžื—ืจื•ื–ืช ืœืœื ืื•ืคืจื˜ื•ืจ ื—ื“ืฉ, ื›ืœื•ืžืจ ื›ืฉืืชื” ื›ื•ืชื‘

String  myStringName = "...........................................", 
ืื• ืžืฉื”ื• ื›ื–ื”, ื”ืชื•ื›ื ื™ืช ื‘ื•ื“ืงืช ืื ื™ืฉ ืžื—ืจื•ื–ืช ืขื ื˜ืงืกื˜ ื›ื–ื” ื‘-String pool. ืื ื›ืŸ, ืœื ืชื™ื•ื•ืฆืจ ืžื—ืจื•ื–ืช ื—ื“ืฉื”. ื•ื”ืงื™ืฉื•ืจ ื”ื—ื“ืฉ ื™ืฆื‘ื™ืข ืขืœ ืื•ืชื” ื›ืชื•ื‘ืช ื‘-String Pool ืฉื‘ื” ื”ืžื—ืจื•ื–ืช ื›ื‘ืจ ืžืื•ื—ืกื ืช. ืื– ื›ืฉื›ืชื‘ื ื• ื‘ืชื•ื›ื ื™ืช

 String myString1 = "here is my favorite string";
 String myString2 = "here is my favorite string";
ื”ื”ืคื ื™ื” myString1 ืžืฆื‘ื™ืขื” ื‘ื“ื™ื•ืง ืœืื•ืชื• ืžืงื•ื ื‘ื–ื™ื›ืจื•ืŸ ื›ืžื• myString2 . ื”ืคืงื•ื“ื” ื”ืจืืฉื•ื ื” ื™ืฆืจื” ืžื—ืจื•ื–ืช ื—ื“ืฉื” ื‘-String Pool ืขื ื”ื˜ืงืกื˜ ืฉื”ื™ื™ื ื• ืฆืจื™ื›ื™ื, ื•ื›ืืฉืจ ื”ื’ื™ืขื” ืœืฉื ื™ื™ื”, ื”ื™ื ืคืฉื•ื˜ ื”ืชื™ื™ื—ืกื” ืœืื•ืชื• ืื–ื•ืจ ื–ื™ื›ืจื•ืŸ ื›ืžื• myString1 . ืื‘ืœ ื”ืžื—ืจื•ื–ืช myString4 ื ื•ืฆืจื” ื›ืื•ื‘ื™ื™ืงื˜ ื‘ืืžืฆืขื•ืช ืื•ืคืจื˜ื•ืจ ื—ื“ืฉ . ืื•ืคืจื˜ื•ืจ ื–ื” ืžืงืฆื” ืื–ื•ืจ ื—ื“ืฉ ื‘ื–ื™ื›ืจื•ืŸ ืœืื•ื‘ื™ื™ืงื˜ ื›ืืฉืจ ื”ื•ื ื ื•ืฆืจ. ืžื—ืจื•ื–ืช ืฉื ื•ืฆืจื” ืขื ื—ื“ืฉ

 String myString1 = new String ("here is my favorite string");
 String myString2 = new String ("here is my favorite string");
ืื™ื ื• ื ื•ืคืœ ืœืžืื’ืจ ื”ืžื—ืจื•ื–ื•ืช, ืืœื ื”ื•ืคืš ืœืื•ื‘ื™ื™ืงื˜ ื ืคืจื“, ื’ื ืื ื”ื˜ืงืกื˜ ืฉืœื• ืชื•ืื ืœื—ืœื•ื˜ื™ืŸ ืœืื•ืชื” ืžื—ืจื•ื–ืช ืžืžืื’ืจ ื”ืžื—ืจื•ื–ื•ืช. ื™ืชืจื” ืžื›ืš, ืื ื ืฉื•ื•ื” ืžื—ืจื•ื–ื•ืช ื‘ืืžืฆืขื•ืช ืฉื™ื˜ืช String equals() ื”ื™ื ืชื‘ื“ื•ืง ืœื ืืช ื”ื›ืชื•ื‘ืช, ืืœื ืืช ืชื•ื›ืŸ ื”ืžื—ืจื•ื–ืช, ืืช ืจืฆืฃ ื”ืชื•ื•ื™ื ื‘ืžื—ืจื•ื–ื•ืช. ื•ืื ื”ื˜ืงืกื˜ ื‘ืžื—ืจื•ื–ื•ืช ื–ื”ื”, ื–ื” ืœื ืžืฉื ื” ืื™ืš ื”ื ื ื•ืฆืจื• ื•ื”ื™ื›ืŸ ื”ื ืžืื•ื—ืกื ื™ื, ื‘-String Pool, ืื• ื‘ืื–ื•ืจ ื–ื™ื›ืจื•ืŸ ื ืคืจื“. ืœื›ืŸ myString1 , myString2 ื•- myString4 ื”ื™ื• ืฉื•ื•ื™ื ื‘ื”ืฉื•ื•ืื” ื–ื•. ืื’ื‘, ืฉืžืชื ืœื‘ ืฉืฉื™ื˜ืช String equals() ืžืืคืฉืจืช ืœื›ื ืœื”ืฉื•ื•ืช ื ื›ื•ืŸ ืžื—ืจื•ื–ื•ืช ื‘ืื•ืคืŸ ืชืœื•ื™-ืจื™ืฉื™ื•ืช? ื›ืœื•ืžืจ, ืื ื ืฉื•ื•ื” ืืช ื”ืžื—ืจื•ื–ืช "ื”ืžื—ืจื•ื–ืช ืฉืœื™" ืœืžื—ืจื•ื–ื•ืช "ื”ืžื—ืจื•ื–ืช ืฉืœื™" ื•-"MY STRING" ื ืงื‘ืœ false.

public class StringEqualsTest {

   public static void main(String[] args) {

       String myString1 = new String ("here is my favorite string");
       String myString2 = new String ("here is My favorite string");
       String myString3 = new String("HERE IS MY FAVORITE STRING");
      
       System.out.println(myString1.equals(myString2)); //false because first string myString1 has small m and myString2 has big M instead 
       System.out.println(myString1.equals(myString3));//false because myString1 is in lowercase while myString3 is in uppercase

   }
}
ื”ืคืœื˜ ื ืžืฆื ื›ืืŸ:
ืฉืงืจ ืฉืงืจ
ื›ื“ื™ ืœื”ืฉื•ื•ืช ืžื—ืจื•ื–ื•ืช ื‘ืื•ืคืŸ ืœื ืจื’ื™ืฉ ืœืื•ืชื™ื•ืช ื’ื“ื•ืœื•ืช, ืœ-Java ื™ืฉ ืฉื™ื˜ื” ืฉื“ื•ืžื” ืžืื•ื“ ืœืฉื•ื•ื” :

boolean equalsIgnoreCaseโ€‹(String anotherString)
ื‘ื•ืื• ื ืฉืชืžืฉ ื‘ื–ื” ื‘ื“ื•ื’ืžื” ืฉืœื ื•.

public class StringEqualsTest {

   public static void main(String[] args) {

       String myString1 = new String ("here is my favorite string");
       String myString2 = new String ("here is My favorite string");
       String myString3 = new String("HERE IS MY FAVORITE STRING");
     /* here we are going to use the brother of equals() method, equalsIgnoreCase(). It can help to check user input when case isnโ€™t 
important */ 
       System.out.println(myString1.equalsIgnoreCase(myString2));

       System.out.println(myString1.equalsIgnoreCase(myString3));

   }
}
ื›ืขืช ื”ืคืœื˜ ื”ื•ื:
ืืžืช ืืžืช
ื”ืขืจื•ืช
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION