【发布时间】:2013-12-27 08:03:20
【问题描述】:
String 类是否在内部表示并用作链表实现?我想知道类的方法和一切是什么。有没有人有显示整个 String 类的链接或文件?
我正在准备考试,但想更深入地了解这门课的运作方式。
【问题讨论】:
-
源代码已公开。
标签: java string linked-list
String 类是否在内部表示并用作链表实现?我想知道类的方法和一切是什么。有没有人有显示整个 String 类的链接或文件?
我正在准备考试,但想更深入地了解这门课的运作方式。
【问题讨论】:
标签: java string linked-list
String 的当前 JDK 8 源代码在这里:
http://hg.openjdk.java.net/jdk8/jdk8/jdk/file/jdk8-b119/src/share/classes/java/lang/String.java
我相信 Java 源代码是 String 的完整实现,尽管在 Hotspot JVM 中存在一些特殊情况,即调用手动调整的代码而不是 Java 代码。例如,compareTo()、indexOf() 和 equals() 似乎会发生这种情况。
更新。不,它内部不使用 LinkedList。
【讨论】:
来自jdk的源码:
public final class String
implements java.io.Serializable, Comparable<String>, CharSequence {
/** The value is used for character storage. */
private final char value[];
....
}
字符串由 char 数组备份。在java中,字符串是常量,创建后不能更改其值
【讨论】:
【讨论】: