- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我知道如果你做
for (condition) {
String s = "hi there";
}
在所有迭代中只创建一个 String
实例,不像 String s = new String("hi there");
将在每次迭代中创建一个新实例.
但是,阅读 Joshua Bloch 的 Effective Java:第 2 章第 5 项(第 20 页)它指出:
Furthermore, it is guaranteed that the object will be reused by any other code running in the same virtual machine that happens to contain the same string literal [JLS, 3.10.5].
不说的AFAIK恰好是相同的字符串文字,它说包含。
阅读 [JLS, 3.10.5]找不到对此的任何确切引用,我对此表示怀疑。
给出这个片段:
String s1 = "hi ";
String s2 = "there";
String s3 = "hi there";
创建了多少个实例?
s1
和 s2
(然后 s3
是使用 s1
和 s2< 创建的
引用)最佳答案
JLS 不保证任何子字符串的重用。这里的“包含”只是意味着 class 在某处提到了完全相同的字符串文字。它不在“子串”的意义上使用。
关于java - JVM如何重用interned String子串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38395254/
我正在尝试创建一个程序,其中字符串的前三个字符重复给定次数,如下所示: foo('Chocolate', 3) # => 'ChoChoCho' foo('Abc', 3) # => 'AbcAbcA
我有以下字符串: std::string str = "Mode:AAA:val:101:id:A1"; 我想分离一个位于 "val:" 和 ":id" 之间的子字符串,这是我的方法: std::st
DNA 字符串可以是任意长度,包含 5 个字母(A、T、G、C、N)的任意组合。 压缩包含 5 个字母(A、T、G、C、N)的 DNA 字母串的有效方法是什么?不是考虑每个字母表 3 位,我们可以使用
是否有一种使用 levenstein 距离将一个特定字符串与第二个较长字符串中的任何区域进行匹配的好方法? 例子: str1='aaaaa' str2='bbbbbbaabaabbbb' if str
使用 OAuth 并使用以下函数使用我们称为“foo”(实际上是 OAuth token )的字符串加密 key public function encrypt( $text ) { // a
我是一名优秀的程序员,十分优秀!