17

私はJavaに少し慣れていませんが、教科書に見られる文字列連結の多用は嫌いです。

たとえば、私はこれを避けたいと思います:

String s = "x:"+x+"," y:"+y+", z:"+z;

次のような表記を使用して文字列を作成することは可能ですか?

String s = new String("x:%d, y:%d, z:%d", x, y, z);

入力

x = 1
y = 2
z = 3

出力

"x:1, y:2, z:3"

注:を使用してフォーマットされた文字列を出力できることは理解してSystem.out.printf()いますが、フォーマットされた文字列を変数に格納したいと思います。

4

3 に答える 3

36
String s = String.format("x:%d, y:%d, z:%d", x, y, z);

JavaHowto-文字列をフォーマットします

于 2011-03-30T00:42:39.833 に答える
6

はい、可能です。Stringクラスには、期待どおりに機能するメソッドが含まれていますformat()。例:

String s = String.format("x:%d, y:%d, z:%d", x, y, z);

ここにフォーマットの詳細があります: フォーマッター構文

于 2011-03-30T00:47:56.257 に答える
1

JDK 15以降:

var s = "x:%d, y:%d, z:%d".formatted(x, y, z);
于 2021-01-05T00:48:40.500 に答える