如何在Java中更改字符串两次(基于前面的更改)?(内部代码)
例如,假设我有一个名为names的字符串,我想。打开机箱,然后使用。在打印之前替换所有函数
我遇到的问题是,一次只应用一个步骤,而这两个函数是分开处理的
System.out.format(names[i].toUpperCase());
System.out.format(names[i].replaceAll("SMITH", "<>JENKINS<>"));
System.out.println(names[i]);
提前谢谢
# 1 楼答案
.toUpperCase()
返回一个String
。你需要像这样做:或
# 2 楼答案
Java中的
String
是不可变的,它们本身不会改变。使用的方法将返回一个新的、已更改的字符串:执行您期望代码执行的操作
# 3 楼答案
因为字符串在java中是不可变的,所以这些函数都不能正常工作。它们不会改变。因此,您必须将它们分配给一个临时变量(或
names[i]
)。像这样做# 4 楼答案
提取一个变量
# 5 楼答案
您可以链接方法调用,因为
String
实例是不可变的,并且每个方法返回通过其操作转换的字符串变量
changed
已被提取以使代码更具可读性# 6 楼答案
此代码仅返回替换的字符串。您需要将其设置为变量
string str = names[i].replaceAll("SMITH", "<>JENKINS<>");
或替换当前参考
names[i]= names[i].replaceAll("SMITH", "<>JENKINS<>");