是否可以用一种类型的字符替换整个字符串?有没有一种方法可以做到这一点?当然是一行。
Example:
"1234567890" turns to "xxxxxxxxxx"
您可以使用replaceAll:
String newString = origString.replaceAll(".", "x");
例如,这个:
System.out.println("hello".replaceAll(".", "*"));
输出:
*****
比一个更轻量级的解决方案replaceAll
:
char[] chars = new char[origString.length()];
Arrays.fill(chars,'x');
String newString = new String(chars);
哦,对不起,你想要一行:
char[] chars = new char[origString.length()]; Arrays.fill(chars,'x'); String newString = new String(chars);
是否可以用一种类型的字符替换整个字符串?
不,String
是不可变的,因此无法更改 1,因此您不能将 "1234567890"转换为"xxxxxxxxxx"
您可以按照@BinyaminSharet的建议创建一个新String
对象,将其替换
(1) 从技术上讲,可以使用反射来更改不可变对象——但应不惜一切代价避免。