【问题标题】:What is the String class internally? [closed]内部的 String 类是什么? [关闭]
【发布时间】:2013-12-27 08:03:20
【问题描述】:

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

我正在准备考试,但想更深入地了解这门课的运作方式。

【问题讨论】:

  • 源代码已公开。

标签: java string linked-list


【解决方案1】:

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。

【讨论】:

    【解决方案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中,字符串是常量,创建后不能更改其值

    【讨论】:

      【解决方案3】:

      【讨论】:

      • 至少找到一个更新的。
      猜你喜欢
      • 1970-01-01
      • 2012-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-09
      • 1970-01-01
      相关资源
      最近更新 更多