如何在Java中实现String.charAt(int i)?

Zoe*_*Zoe 9 java string javadoc time-complexity

如果我想检查String中的每个char,是否每次都String.charAt(int i)从start开始计算,或者自动转换为数组并charAt直接获取索引?

如果我创建一个char数组String.toCharArray()然后通过索引遍历数组会更有效吗?

我可以在JavaDoc中查看这个吗?哪里?

Jef*_*rey 18

JRE主要是开源的.您可以在此处下载zip文件或使用grepcode等网站在线浏览.

String.charAt:

public char charAt(int index) {
    if ((index < 0) || (index >= value.length)) {
        throw new StringIndexOutOfBoundsException(index);
    }
    return value[index];
}
Run Code Online (Sandbox Code Playgroud)

  • 一般来说,您可以而且应该假设编写编译器和库的人已经花了很多精力来优化他们的代码,并且可能使用手工编码的字节码或本机代码来优化普通Java代码无法实现的方式.除非您有其他证据或特殊情况可以利用,否则您通常会认为库的性能非常好,并且您将努力优化您使用的这些固定操作中的哪些操作,以及如何使用更高级别的算法. (2认同)