【发布时间】:2019-12-10 17:14:41
【问题描述】:
我正在使用单独的文件在我的代码中定义一些字符串常量。
下面提供的示例在内存使用或其他标准方面是否会有差异。
public static final String sample1 = "this is a sample string";
public static final String sample2 = "this "+"is a "+"sample "+"string";
public static final String sample3 = sample1+sample2;
因为我将定义大量这样的字符串以用于我的 程序我想知道哪个是正确的方法,以优化内存使用。期待您的建议。
【问题讨论】:
-
没有区别。
-
我会推荐第一个选项。
-
@NaveenKulkarni 它们将被编译器组合起来。
-
请注意,虽然这些都相同,但当您使用前缀时(例如使用多个配置键或指标名称)时,串联通常是一个好主意。
-
@Michu93 不。如果他们是
final,他们完全一样。static与此无关。
标签: java string memory standards