gpt4 book ai didi

java - java函数中static const char *的等价性

转载 作者:可可西里 更新时间:2023-11-01 18:35:56 24 4
gpt4 key购买 nike

我经常在 C++ 中使用这个习语:

/*return type*/ foo(/*parameters*/){
static const char* bar = "Bar";
/*some code here*/
}

在内部这被添加到字符串文字表中。这段 Java 代码是否做类似的事情:

/*return type*/ foo(/*parameters*/){
final String bar = "Bar";
/*some code here*/
}

还是我无意中引入了效率低下的问题?

最佳答案

字符串在 Java 中是不可变的。这意味着您不必通过提示让 JVM 知道它不会更改和优化它。

字符串文字被保留以避免冗余,这意味着它们已经“添加到字符串文字表中”。此处没有必要使用 final

关于java - java函数中static const char *的等价性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19545517/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com