1

是否可以用一种类型的字符替换整个字符串?有没有一种方法可以做到这一点?当然是一行。

Example:

"1234567890" turns to "xxxxxxxxxx"
4

3 回答 3

10

您可以使用replaceAll:

String newString = origString.replaceAll(".", "x");

例如,这个:

System.out.println("hello".replaceAll(".", "*"));

输出:

*****
于 2012-05-02T22:42:37.663 回答
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);
于 2012-05-02T22:48:50.497 回答
3

是否可以用一种类型的字符替换整个字符串?

不,String不可变的,因此无法更改 1,因此您不能将 "1234567890"转换为"xxxxxxxxxx"

您可以按照@BinyaminSharet的建议创建一个String对象,将其替换


(1) 从技术上讲,可以使用反射来更改不可变对象——但应不惜一切代价避免。

于 2012-05-02T22:48:04.373 回答