1

文字列全体を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

1つよりもわずかに軽量なソリューション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

文字列全体を1種類の文字に置き換えることはできますか?

いいえ、不変Stringであるため変更できません1。したがって、「1234567890」を「xxxxxxxxxx」に変換することはできません。

@BinyaminSharetによって提案されたように、置き換えられる新しいStringオブジェクトを作成できます


(1)技術的には、リフレクションを使用して不変オブジェクトを変更できますが、絶対に避けてください。

于 2012-05-02T22:48:04.373 に答える