《Beginning Java 7》 - 6 - 深入理解 String
2013-12-24 09:21
232 查看
public final class String implements Serializable, Comparable<String>, CharSequence
所以:
1. String 一旦被创建不能被修改,因为 final
2. String 不能调用 clone() 因为没有 implements Cloneable
String 类中含有一些对比字符串的方法,比如字典比较等等。
String 的比较:
1. == 用来比较是否是两个 String 是否是同一个引用。
如:
s1 == s2 为 true
s1 == s3 为 false
s1 == "hello" 为 true
s3 == "hello" 为 false
2. equals() 用来比较字符串。它是真正的判断两个字符串是否一致。因为在 String 类中重写了 equals(),所以我们要用此函数来判断字符串逻辑上相等,而不能用 ==。
3. 字典比较。ComparedTo(),按 ASCII 码比较
a.compareTo(b) = -1
b.compareTo(b) = 0
c.compareTo(a) = 2
a1.compareTo(a) = 1
a1.compareTo(b) = -1
"*".compareTo(a) = -55
所以:
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
相关文章推荐
- 深入理解Java中的String
- 通过反编译深入理解Java String及intern
- 深入理解string和如何高效地使用string
- 深入理解String、StringBuffer、StringBuilder(转)
- 深入理解String——之前六个题目答案解析
- 深入理解String
- java基础(二):深入理解String
- C# 语言特性系列(8) 深入理解String
- 深入理解String为什么是不可变的类
- 深入理解String、StringBuffer、StringBuilder(转)
- 通过反编译深入理解Java String及intern
- 深入理解c++中char*与wchar_t*与string以及wstring之间的相互转换
- 深入理解c++中char*与wchar_t*与string以及wstring之间的相互转换
- 深入理解final 类String 对象的创建以及内部方法
- 深入理解java String 对象的不可变性
- Ruby语言中的String深入理解
- 字符 深入理解java String 对象的不可变性
- java String的深入理解
- 通过反编译深入理解Java String及intern
- String深入理解