ืฉืืื! ืืืื ื ืืืจ ืขื ื ืืฉื ืืืื ืืฉืื ืืืขื ืืื, ืืืืืจ ืืฉืืืืช ืืืืืืงืืื ืื ืืื equals() ืื'ืืืื. ืืืื, ืืืืื ืืงืจืื ืื'ืืืื ืืืืืืงื A ืืืื ืฉืืื ืืืืืืืงื B ? ืืืื ื ื ืกื ืืืชืื ืืืืื:
public class Car {
String model;
int maxSpeed;
public static void main(String[] args) {
Car car1 = new Car();
car1.model = "Ferrari";
car1.maxSpeed = 300;
Car car2 = new Car();
car2.model = "Ferrari";
car2.maxSpeed = 300;
System.out.println(car1 == car2);
}
}
ืคืื ืืกืืฃ:
false
ืืกืืจ, ืชืคืกืืง. ืืืืข, ืืขืฆื, ืฉืชื ืืืืื ืืืช ืืืื ืืื ื ืฉืืืช? ื ืชื ื ืืื ืืช ืืืชื ืืืคืืื ืื, ืืื ืืชืืฆืื ืฉื ืืืฉืืืื ืฉืงืจืืช. ืืชืฉืืื ืคืฉืืื. ืืืืคืจืืืจ ==
ืืฉืืื ืื ืืืคืืื ืื ืฉื ืืืืืืงืืื, ืืื ืงืืฉืืจืื. ืื ืื ืืฉื ื ืืืืืืงืืื ืืฉ 500 ืืืคืืื ืื ืืืื, ืชืืฆืืช ืืืฉืืืื ืขืืืื ืชืืื ืฉืงืจืืช. ืืืจื ืืื, ืงืืฉืืจืื car1
ืืฆืืืขืื car2
ืขื ืฉื ื ืืืืืืงืืื ืฉืื ืื , ืืฉืชื ืืชืืืืช ืฉืื ืืช. ืชืืจื ืืขืฆืืื ืืฆื ืขื ืืฉืืืื ืืื ืื ืฉืื. ืื ืจืื ืืฉ ืืื ืืขืืื ืฉืืฉ ืื ืืืชื ืฉื, ืฆืืข ืขืื ืืื, ืืื, ืืืื, ืฆืืข ืฉืืขืจ ืืื' ืืืื. ืืืืืจ, ืืชื ืืืืื ืืืจืื ืืืื ืื, ืืื ืขืืืื ืืชื ืื ืชืืืืื, ืืืขืืงืจ ืื ืืืชื ืืื. ืืืืคืจืืืจ ืืืื ืืขืจื ืืช ืืืชื ืืืืืื ==
ืืืฉืจ ืื ื ืืฉืชืืฉืื ืื ืืื ืืืฉืืืช ืืื ืฉื ื ืืืืืืงืืื. ืืื ืื ืื ืืชื ืฆืจืื ืืืืืื ืฉืื ื ืืชืืื ืืช ืฉืื? ืืืืืื, ืื ืืชืืื ืืช ืฉืื ืืืื ื ืืชืื DNA. ืขืืื ืืืฉืืืช ืืช ืงืื ื-DNA ืฉื ืฉื ื ืื ืฉืื ืืืงืืืข ืฉืื ืชืืืืื.
public class Man {
int dnaCode;
public static void main(String[] args) {
Man man1 = new Man();
man1.dnaCode = 1111222233;
Man man2 = new Man();
man2.dnaCode = 1111222233;
System.out.println(man1 == man2);
}
}
ืคืื ืืกืืฃ:
false
ืื ืืืืื ื ืฉืืชืืฆืื ืืืืชื ืืื (ืืืจื ืืื, ืื ืฉืื ืื ื ืืืื), ืืื ืขืืฉืื ืื ืื ื ืื ืืจืืฆืื ืืื! ืืืื, ืืืืื ืืืืืชืืื, ื ืืชืื DNA ืืื ืขืจืืื ืฉื ืืื ืืืื ืืื ืฉืื ื ืขืืืืื ืืคื ื ืชืืืืื. ืืื ืืชืืื ืืช ืืืืคืขืื ืฉืื ื ==
ืืืืจืื ืื ื ืืืจืช. ืืืฆื ื ืืื ืืฉื ืืช ืืชื ืืืืช ืื ืืืืืื ืฉืื ืืืืงืืช ื-DNA ืชืืืืืช, ืืชืืื ืืช ืชืคืืง ืืช ืืชืืฆืื ืื ืืื ื? ืืฉื ืื ื ืืฆืจื ืฉืืื ืืืืืืช ื-Java - equals() .
ืฉืืืช Equals() ื-Java
ืืื ืืฉืืืtoString()
ืฉืืืืจื ื ืขืืื ืงืืื, equals() ืฉืืืืช ืืืืืงื, Object
ืืืืืงื ืืืฉืืื ืืืืชืจ ืื'ืืืื, ืืื ื ื ืืืจืืช ืื ืืืืืงืืช ืืืืจืืช. ืขื ืืืช, equals() ืขืฆืื ืื ืืฉื ื ืืช ืืืชื ืืืืช ืฉื ืืชืืื ืืช ืฉืื ื ืืฉืื ืืืคื:
public class Man {
String dnaCode;
public static void main(String[] args) {
Man man1 = new Man();
man1.dnaCode = "111122223333";
Man man2 = new Man();
man2.dnaCode = "111122223333";
System.out.println(man1.equals(man2));
}
}
ืคืื ืืกืืฃ:
false
ืืืืืง ืืืชื ืชืืฆืื, ืื ืืื ืืฉ ืฆืืจื ืืฉืืื ืืื? :/ ืื ืคืฉืื. ืืขืืืื ืืื ืฉืืขืช ืืฉืชืืฉื ื ืืฉืืื ืื ืืคื ืฉืืื ืืืืฉืืช ืืืืืงื ืขืฆืื Object
. ืืื ื ืืื ืก ืืงืื ืืืืืงื Object
ืื ืจืื ืืื ืืฉืืื ืืื ืืืืฉืืช ืื ืืื ืืื ืขืืฉื, ื ืจืื:
public boolean equals(Object obj) {
return (this == obj);
}
ืื ืืกืืื ืืื ืฉืืชื ืืืืช ืืชืืื ืืช ืฉืื ื ืื ืืฉืชื ืชื! ืืชืื ืฉืืืช equals() ืฉื ืืืืืงื Object
ื ืืฆืืช ืืืชื ืืฉืืืืช ืืคื ืืืช, ==
. ืืื ืืืืืื ืฉื ืืฉืืื ืืื ืืื ืฉืื ืื ื ืืืืืื ืืขืงืืฃ ืืืชื. ืืจืืกื ืคืืจืืฉื ืืชืืืช ืฉืืืช equals() ืืฉืื ืืืืชื ืฉืื ื Man
ืืืืจืื ืื ืืืชื ืื ืืื ืฉืื ืื ื ืจืืฆืื! ืืขืช ืืื ื ื ืืฉืืื ืขืื ืฉืืืืื man1.equals(man2)
ืืขืฆื ืขืืฉื ืืช ืืืชื ืืืืจ ืืื man1 == man2
. ืื ื ืื ืฉื ืขืฉื ืืืฆื ืื:
public class Man {
int dnaCode;
public boolean equals(Man man) {
return this.dnaCode == man.dnaCode;
}
public static void main(String[] args) {
Man man1 = new Man();
man1.dnaCode = 1111222233;
Man man2 = new Man();
man2.dnaCode = 1111222233;
System.out.println(man1.equals(man2));
}
}
ืคืื ืืกืืฃ:
true
ืชืืฆืื ืฉืื ื ืืืืืืื! ืขื ืืื ืืชืืืช ืฉืืืช equals() ืืฉืื ื ืืืงืื ืืฉืืื ืืกืื ืืจืืืช, ืืฉืื ื ืืช ืืืชื ืืืืช ืื ืืื ื: ืขืืฉืื ืื ืืฉื ื ืื ืฉืื ืืฉ ืืช ืืืชื ืงืื DNA, ืืชืืื ืืช ืืืืจืช ืื ื: "ื ืืชืื DNA ืืจืื ืฉืื ืชืืืืื" ืืืืืืจื ืืืช! ืขื ืืื ืืจืืกืช ืืืชืืื equals() ืืืืืงืืช ืฉืื, ืชืืื ืืืฆืืจ ืืงืืืช ืืช ืืืืืืงื ืืืจืืฉื ืืืฉืืืืช ืืืืืืงืืื. ื ืืขื ื ืืืฉืืืืช ืืคืฆืื ืจืง ืืืื ืืื ืืืืืื. ืขืืืื ืชืืื ืื ื ืืจืฆืื ืืืืื ื ืคืจืืช ืื ืืฉื ืื (ืชืืื ืืงืจืื ืืืชื ืืืืืจืืช ืขืืฉืื, ืื ืืชื ืืขืื ืืื).
String compare ื-Java - String comparison
ืืืืข ืื ื ืืชืืืืกืื ืืืฉืืืืืช ืืืจืืืืช ืื ืคืจื ืืื ืืฉืืจ? ืืืื, ืืืขืฉื, ืฉืืจืืช ืืชืื ืืช ืื ืกืืคืืจ ืืืจ ืืืืจื. ืจืืฉืืช, ืื ืืืงืืื ืืช ืื ืชืืื ืืืช ืื'ืืืื ืฉื ืืชืื ืขื ืืื ืืื ืืฉืืช, ื-25% ืืืืืืืืงืืื ืืื ืืืจืืืื ืืื. ืืื, ื ืืฉื ืื ืืฉืื ืืืื. ืฉื ืืช, ืชืืืื ืืฉืืืืช ืืืจืืืืช ืืื ืืืืช ืฉืื ื ืืืืืืืงืืื ืืืจืื. ืืืื ื ืกืชืื ืขื ืืืืื ืคืฉืืื:public class Main {
public static void main(String[] args) {
String s1 = "JavaRush is the best site to learn Java!";
String s2 = new String("JavaRush is the best site to learn Java!");
System.out.println(s1 == s2);
}
}
ืคืื ืืกืืฃ:
false
ืืื ืืื ืฉืงืจ? ืืฉืืจืืช ืืืืช ืืืืืืื, ืืืื ืืืืื :/ ืืคืฉืจ ืืื ืื: ืื ืืืื ืฉืืืืคืจืืืจ ==
ืืฉืืื ืืคื ืืืช! ืืืจื ืืื, ืืฉ s1
ืืื s2
ืืชืืืืช ืฉืื ืืช ืืืืืจืื. ืื ืืืืฉืื ืืื ืขืืชื ืืืขืชื, ืื ืืืื ื ืืืืจ ืขื ืืืืืื ืฉืื ื:
public class Main {
public static void main(String[] args) {
String s1 = "JavaRush is the best site to learn Java!";
String s2 = "JavaRush is the best site to learn Java!";
System.out.println(s1 == s2);
}
}
ืขืืฉืื ืืฉ ืื ื ืื ืฉื ื ืงืืฉืืจืื, ืืื ืืชืืฆืื ืืฉืชื ืชื ืืืืคื: ืคืื ืืกืืฃ:
true
ืืืืืื ืืืืจื? :) ืืื ื ืืื ืืช ืื. ืืืคืขืื ==
ืืืขืฉื ืืฉืืื ืืชืืืืช ืืืืืจืื. ืืื ืื ืชืืื ืขืืื ืืืื ืฆืืจื ืืืืื ืื ืกืคืง. ืืืฉืืขืืช ืืื ืฉืื s1 == s2
ืืื ืืืืืจ ืืืช, ืืฉืชื ืืืืจืืืืช ืืืื ืืฉ ืืืชื ืืชืืืช ืืืืืจืื. ืืืื ืื! ืื ืืืื ืืืืืจ ืืืืจ ืืืืจืื ืืืืื ืืืืกืื ืืืชืจืื - ืืืืจ ืืืืชืจืื ( String pool
) ืืืืจ ืืืืชืจืื ืืื ืืืืจ ืืืืกืื ืื ืขืจืื ืืืืชืจืื ืฉืืชื ืืืฆืจ ืืชืืื ืืช ืฉืื. ืืฉืืื ืื ืืื ื ืืฆืจ? ืืคื ืฉืืืืืจ ืงืืื ืืื, ืืืชืจืื ืชืืคืกืื ืืืง ืขืฆืื ืืื ืืืืืืืงืืื. ืืื ืชืืื ืืช ืืืืื ื ืืฆืจืืช ืืจืื ืฉืืจืืช. ืขื ืื ืช ืืืกืื ืืืืืจืื ืื ืื ืฉืฆืจืื String Pool
- ืฉื ืืื ืืช ืฉืืจื ืขื ืืืงืกื ืืืจืืฉ, ืืืขืชืื ืงืืฉืืจืื ืืืฉืื ืฉื ืืฆืจื ืืชืืืืกืื ืืืืชื ืืืืจ ืืืืจืื, ืืื ืฆืืจื ืืืงืฆืืช ืืืืจืื ื ืืกืฃ ืืื ืคืขื. ืืื ืคืขื ืฉืืชื ืืืชื String = โ........โ
, ืืชืืื ื ืืืืงืช ืื ืืฉ ืฉืืจื ืขื ืืงืกื ืืื ืืืืืจ ืืืืจืืืืช. ืื ืืฉ, ืื ืืืืืฆืจ ืืืฉ. ืืืงืืฉืืจ ืืืืฉ ืืฆืืืข ืขื ืืืชื ืืชืืืช ืืืืืจ ืืืืจืืืืช ืฉืื ืืืืจืืืช ืืื ืืืืืกื ืช. ืืื, ืืฉืืชืื ื ืืชืืื ืืช
String s1 = "JavaRush is the best site to learn Java!";
String s2 = "JavaRush is the best site to learn Java!";
ืืงืืฉืืจ s2
ืืฆืืืข ืืืืืง ืืืืชื ืืงืื ืืื s1
. ืืคืงืืื ืืจืืฉืื ื ืืฆืจื ืฉืืจื ืืืฉื ืืืืืจ ืืืืจืืืืช ืขื ืืืงืกื ืฉืืืื ื ืฆืจืืืื, ืืืืฉืจ ืืืืขื ืืฉื ืืื, ืืื ืคืฉืื ืืชืืืืกื ืืืืชื ืืืืจ ืืืืจืื ืืื s1
. ืืชื ืืืื ืืืฆืืจ ืืคืืืช 500 ืฉืืจืืช ื ืืกืคืืช ืขื ืืืชื ืืงืกื, ืืชืืฆืื ืื ืชืฉืชื ื. ืชืคืกืืง. ืืื ืืืืข ืื ืื ืืืืืื ืืื ืื ืขืืื ืขืืืจื ื ืงืืื ืืื?
public class Main {
public static void main(String[] args) {
String s1 = "JavaRush is the best site to learn Java!";
String s2 = new String("JavaRush is the best site to learn Java!");
System.out.println(s1 == s2);
}
}
ืื ื ืืืฉื, ืืื ืืืืืืืืืช, ืืชื ืืืจ ืื ืืฉ ืื ืืกืืื :) ื ืกื ืื ืืฉ ืืคื ื ืฉืชืงืจื ืขืื. ืืชื ืืืื ืืจืืืช ืฉืฉื ื ืืงืืืื ืืืื ื ืืฆืจื ืืฆืืจื ืฉืื ื. ืืืื ืืื ืืขืืจืช ืืืคืขืื new
, ืืืฉื ื ืืืขืืื. ืื ืืืืืง ืืกืืื. ืืืืคืจืืืจ ืืืืฉ, ืืขืช ืืฆืืจืช ืืืืืืงื, ืืงืฆื ืขืืืจื ืืืืจ ืืืฉ ืืืืืจืื ืืืื . ืืืฉืืจื ืฉื ืืฆืจื ืขื new
, ืืื ื ืืกืชืืืืช ื String Pool
: ืืื ืืืคืืช ืืืืืืืงื ื ืคืจื, ืื ืื ืืืงืกื ืฉืื ืืื ืืืืืืื ืืืืชื ืฉืืจื ื'ื String Pool
. ืืืืืจ, ืื ื ืืชืื ืืช ืืงืื ืืื:
public class Main {
public static void main(String[] args) {
String s1 = "JavaRush is the best site to learn Java!";
String s2 = "JavaRush is the best site to learn Java!";
String s3 = new String("JavaRush is the best site to learn Java!");
}
}
ืืืืืจืื ืื ืืืจืื ืื: ืืืื ืคืขื ืฉื ืืฆืจ ืืืืืืงื ืืืฉ, new
ืืืงืฆื ืืืืจ ืืืฉ ืืืืืจืื, ืื ืื ืืืงืกื ืืชืื ืืฉืืจืืช ืืืืฉืืช ืืื! ื ืจืื ืฉืกืืืจื ื ืืช ืืืืคืจืืืจ ==
, ืืื ืื ืืืื ืืืืจ ืืืืฉ ืฉืื ื - ืฉืืืช equals()?
public class Main {
public static void main(String[] args) {
String s1 = "JavaRush is the best site to learn Java!";
String s2 = new String("JavaRush is the best site to learn Java!");
System.out.println(s1.equals(s2));
}
}
ืคืื ืืกืืฃ:
true
ืืขื ืืื. ืื ืื ื ืืืืขืื ืืืืืง ืื s1
ืืืฆืืืขืื s2
ืขื ืืืืจืื ืฉืื ืื ืืืืืจืื. ืืื, ืืื ืืืช, ืฉืืืช equals() ืืืืจืช ืฉืื ืฉืืืื. ืืื? ืืืืจ, ืืืขืื ืืืจื ื ืฉื ืืชื ืืขืงืืฃ ืืช ืืืชืืื equals() ืืืืืงื ืฉืื ืื ืฉืืื ืืฉืืื ืืืืืืงืืื ืืื ืฉืืชื ืฆืจืื? ืื ืื ืฉืื ืขืฉื ืขื ืืืืชื String
. ืืฉ ืื ืฉืืืช equals() ื ืืืงืช. ืืื ืื ืืฉืืื ืืื ืงืืฉืืจืื, ืืื ืืช ืจืฆืฃ ืืชืืืื ืืืืจืืืืช. ืืื ืืืงืกื ืืืืจืืืืช ืืื, ืื ืื ืืฉื ื ืืื ืื ื ืืฆืจื ืืืืื ืื ืืืืืกื ืื: ืืืืืจ ืืืืชืจืื, ืื ืืืืืจ ืืืืจืื ื ืคืจื. ืชืืฆืืช ืืืฉืืืื ืชืืื ื ืืื ื. ืืื, Java ืืืคืฉืจืช ืื ืืืฉืืืช ื ืืื ืืืจืืืืช ืืฆืืจื ืื ืชืืืืช ืจืืฉืืืช. ืืืฆื ืจืืื, ืื ืชืืชืื ืืืช ืืืฉืืจืืช, ืืืฉื, ื-caps, ืชืืฆืืช ืืืฉืืืื ืชืืื ืฉืงืจ:
public class Main {
public static void main(String[] args) {
String s1 = "JavaRush is the best site to learn Java!";
String s2 = new String("JAVARUSH - ะะฃะงะจะะ ะกะะะข ะะะฏ ะะะฃะงะะะะฏ JAVA!");
System.out.println(s1.equals(s2));
}
}
ืคืื ืืกืืฃ:
false
ืืืงืจื ืื, ืืืืืงื String
ืืฉ ืฉืืื equalsIgnoreCase()
. ืื ืืืืจ ืืขืืงืจื ืืืฉืืืื ืฉืื ืืื ืจืฆืฃ ืืืืืืืช ืืกืคืฆืืคืืืช, ืืื ืืืงืจื ืฉืืื, ืืชื ืืืื ืืืฉืชืืฉ ืื. ืืืืืื, ืื ืืืื ืฉืืืืฉื ืืขืช ืืฉืืืืช ืฉืชื ืืชืืืืช ืืื"ื:
public class Main {
public static void main(String[] args) {
String address1 = "Moscow, Academician Korolev street, 12";
String address2 = new String("ะ. ะะะกะะะ, ะฃะ. ะะะะะะะะะ ะะะ ะะะะะ, ะะะ 12");
System.out.println(address1.equalsIgnoreCase(address2));
}
}
ืืืงืจื ืื, ืืจืืจ ืฉืื ื ืืืืจืื ืขื ืืืชื ืืชืืืช, ืืืื ืฉืืืืฉ ืืฉืืื equalsIgnoreCase()
ืชืืื ืืืืืื ืื ืืื ื.
ืฉืืืช String.intern()
ืืืืืงืString
ืืฉ ืฉืืื ืืกืืืืช ื ืืกืคืช - intern()
; ืืฉืืื intern()
ืคืืขืืช ืืฉืืจืืช ืขื String Pool
'ืืื. ืื ืืชื ืงืืจื ืืืชืืื intern()
ืขื ืืืจืืืช, ืื:
- ืืืคืฉ ืืจืืืช ืื ืืฉ ืืืจืืืช ืขื ืืืงืกื ืืื ืืืืืจ ืืืืจืืืืช
- ืื ืืฉ, ืืืืืจ ืงืืฉืืจ ืืืื ืืืจืืื
- ืื ืื, ืืื ืืฆืื ืฉืืจื ืขื ืืืงืกื ืืื ืืืืืจ ืืืืจืืืืช ืืืืืืจ ืงืืฉืืจ ืืืื.
intern()
ืขื ืืคื ืื ืืืืจืืืช ืฉื ืืฆืจื ืืืืฆืขืืช new, ื ืืื ืืืฉืืืช ืืืชื ืืืคื ืื ืืืืจืืืช ื- String Pool
'a ืืจื ื- ==
.
public class Main {
public static void main(String[] args) {
String s1 = "JavaRush is the best site to learn Java!";
String s2 = new String("JavaRush is the best site to learn Java!");
System.out.println(s1 == s2.intern());
}
}
ืคืื ืืกืืฃ:
true
ืืขืืจ, ืืฉืืฉืืืื ื ืืืชื ืืื intern()
, ืืชืืฆืื ืืืืชื ืฉืงืจืืช. ืืขืช ืืฉืืื intern()
ืืืงื ืืื ืืฉ ืฉืืจื ืขื ืืืงืกื "JavaRush - ืืืชืจ ืืืื ืืืืชืจ ืืืืืื ื'ืืืื!" ืืืจืืืช ืืืืชืจืื. ืืืืื ืฉืื ืฉื: ืืฆืจื ื ืืช ืื ืืฉืืชืื ื
String s1 = "JavaRush is the best site to learn Java!";
ื ืืืง ืฉืืืคื ืื s1
ืืืืคื ืื ืืืืืืจืช ืืฉืืื s2.intern()
ืืฆืืืขืืช ืขื ืืืชื ืืืืจ ืืืืืจืื, ืืืืืื ืฉืื :) ืืกืืืื, ืืืจื ืืืฉืชืืฉื ืืืื ืืขืืงืจื: ืืื ืืืฉืืืช ืืืจืืืืช, ืืฉืชืืฉื ืชืืื ื-equals() ืฉืืื! ืืืฉืจ ืืฉืืืื ืืืจืืืืช, ืืชื ืืชืืืื ืืืขื ืชืืื ืืืฉืืืืช ืืืงืกื ืฉืืื, ืื ืืงืืฉืืจืื, ืืืืจื ืืืืจืื ืืื'. ืืฉืืื equals() ืขืืฉื ืืืืืง ืืช ืื ืฉืืชื ืฆืจืื. ืื ื ืืื ืงืืฉืืจืื ืฉืชืืืื ืืืืื ืืขืฆืืื:
GO TO FULL VERSION