java - Java 9 的新字符串实现是什么?

标签 java string java-9

在 Java 9 的底层是如何实现字符串的?每个字符是存储为一个字节还是两个字节?

最佳答案

因为字符串的大多数用法是 Latin-1 并且只需要一个字节,所以 Java-9 的字符串将被更新为在底层实现为带有编码标志字段的字节数组,以说明它是否是字节数组。如果字符不是 Latin-1 并且需要超过一个字节,它将被存储为 UTF-16 字符数组(每个字符 2 个字节)和标志。见 JEP 254 .

关于java - Java 9 的新字符串实现是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38213239/

相关文章:

c - 返回函数(c)中的子字符串

c - 指针与 c 中的整数二维数组和字符串不同

java.lang.ClassNotFoundException : sun. misc.Cleaner

Java 11/IntelliJ : Module not found

java - Android (Java) 和 .NET DateTime 之间的高精度时间同步?

java - 使用 Maven 将 Spring MVC 移植到 Tomcat 8 : NullPointerException with SerializableTypeWrapper

java - 使用引用文献和新的

java - Set.value 用新数据替换现有数据

c++ - 检查 std::vector 中的字符串是否包含 C++ 中的子字符串

java - 使用 Java9 运行现有应用程序会导致 Guice Injector 出现 PreDestroy 错误