【发布时间】:2016-01-07 16:33:25
【问题描述】:
我试图更好地理解字符串。我基本上是在制作一个需要很多字符串的程序。但是,很多字符串非常非常相似,只是在字符串末尾需要一个不同的单词。
例如
String one = "I went to the store and bought milk"
String two = "I went to the store and bought eggs"
String three = "I went to the store and bought cheese"
所以我的问题是,在处理字符串时最适合采用什么方法?将 2 个字符串连接在一起是否比仅使用静态字符串有任何好处,例如性能或内存管理?
例如
String one = "I went to the store and bought "
String two = "milk"
String three = "cheese"
String four = one + two
String five = one + three
我只是想找出处理所有这些字符串的最佳方式。 (如果放置我正在使用的一些字符串有帮助,我目前有 50 个,但数量可能会过剩)
【问题讨论】:
-
可读性更重要。我认为两者之间没有真正的性能差异
-
static finalStrings, well explained here Strings 对于常量部分是个好主意。 -
使用文字字符串进行本地化有时比生成的字符串更容易。
-
你能定义“巨大”和“很多”吗?因为您给出的唯一数字(50)与计算机的“很多”相差甚远。 50 个 40 个字符的字符串构成 4KB 的内存。你想达到什么目的?所有这些硬编码的字符串是干什么用的?在我看来,这就像一个 X/Y 问题。
-
代码应该可读但也可维护。如果字符串在多个地方使用或可能会更改,则将它们放入变量中可能是更合适的选择。无论哪种方式,问题主要是基于意见的,并且实际上取决于开发人员来判断采取哪个选项。
标签: java string string-concatenation