《Beginning Java 7》 - 6 - 深入理解 String
public final class String implements Serializable, Comparable<String>, CharSequence
所以:
- 1. String 一旦被创建不能被修改,因为 final
- 2. String 不能调用 clone() 因为没有 implements Cloneable
String 类中含有一些对比字符串的方法,比如字典比较等等。
String 的比较:
1. == 用来比较是否是两个 String 是否是同一个引用。
如:
String s1 = "hello"; String s2 = "hello"; String s3 = new String ("hello");
- s1 == s2 为 true
- s1 == s3 为 false
- s1 == "hello" 为 true
- s3 == "hello" 为 false
2. equals() 用来比较字符串。它是真正的判断两个字符串是否一致。因为在 String 类中重写了 equals(),所以我们要用此函数来判断字符串逻辑上相等,而不能用 ==。
3. 字典比较。ComparedTo(),按 ASCII 码比较
String a = "a"; String b = "b"; String a1 = "a1"; String c = "c"; int result = a.compareTo(b); ...
- a.compareTo(b) = -1
- b.compareTo(b) = 0
- c.compareTo(a) = 2
- a1.compareTo(a) = 1
- a1.compareTo(b) = -1
- "*".compareTo(a) = -55
移动开发者