Java字符串if+;包含+;环

Java字符串if+;包含+;环,java,string,contains,Java,String,Contains,伪代码: In Loop for n-iterations { // I am doing a check below if (params.contains("test") { } } 字符串test是否创建为对象n次 否。“test”是存储在字符串池中的唯一对象。因此,它甚至与应用程序中其他地方可能具有的任何其他“test”文本相同。否“test”是一个字符串文本,因此它会进入字符串常量池,并将被重新用于“test”的所有未来访问。如果执行新字符串(“测试”)(创

伪代码:

In Loop for n-iterations {
    // I am doing a check below
    if (params.contains("test") {

    }
}

字符串
test
是否创建为对象
n

否。
“test”
是存储在字符串池中的唯一对象。因此,它甚至与应用程序中其他地方可能具有的任何其他
“test”
文本相同。

否<代码>“test”是一个字符串文本,因此它会进入字符串常量池,并将被重新用于“test”的所有未来访问。如果执行新字符串(“测试”)(创建字符串的错误方法),则将创建字符串“测试”的多个实例-每个迭代一个实例

否。将为
“测试”
创建一个字符串实例。Java实际上在缓存和重用
String
实例方面相当积极。如需进一步讨论,请参阅:还值得注意的是,输出表示“test”的
字符串
对象的任何其他方法几乎肯定会创建其他实例。@JRichardSnape-这取决于。。例如,如果在
“test”
上调用
trim()
,则将返回相同的
“test”
实例。老实说,这有点偏离了确切的问题。对一些人来说,这可能是令人讨厌的“陷阱”的来源,因此我的评论,但你已经回答了这个问题。