内部的String类是什么?

时间:2013-12-10 00:29:09

标签: java string linked-list

String类是否在内部表示并用作链接列表实现?我想知道班级的方法和一切是什么。有没有人有一个显示整个String类的链接或文件?

我正在攻读考试,但想深入了解这门课程的运作方式。

3 个答案:

答案 0 :(得分:4)

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。

答案 1 :(得分:2)

答案 2 :(得分:2)

来自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中,字符串是常量,它们的值在创建后无法更改