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”
实例。老实说,这有点偏离了确切的问题。对一些人来说,这可能是令人讨厌的“陷阱”的来源,因此我的评论,但你已经回答了这个问题。