Java字符串到一种类型的字符

时间:2012-05-02 22:40:53

标签: java string character

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

Example:

"1234567890" turns to "xxxxxxxxxx"

3 个答案:

答案 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)

  

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

不,Stringimmutable因此无法更改 1 ,因此您无法“1234567890”无法转身进入“xxxxxxxxxx”

您可以按照@BinyaminSharet

的建议创建一个替换的String对象

(1)从技术上讲,可以使用reflection更改不可变对象 - 但应该不惜一切代价避免它。