《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
posted @ 2013-12-24 09:21  davesuen  阅读(148)  评论(0编辑  收藏  举报