是否可以用一种字符替换整个字符串?有没有一种方法可以做到这一点?当然是一行。
Example:
"1234567890" turns to "xxxxxxxxxx"
答案 0 :(得分:10)
您可以使用replaceAll:
String newString = origString.replaceAll(".", "x");
例如,这个:
System.out.println("hello".replaceAll(".", "*"));
输出:
*****
答案 1 :(得分:6)
比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);
答案 2 :(得分:3)
是否可以用一种字符替换整个字符串?
不,String
是immutable因此无法更改 1 ,因此您无法“1234567890”无法转身进入“xxxxxxxxxx”
您可以按照@BinyaminSharet
的建议创建一个替换的新String
对象
(1)从技术上讲,可以使用reflection更改不可变对象 - 但应该不惜一切代价避免它。