2011-12-26 18 views
2

私は基本的にJavaであるProcessingでいくつかの作業をしています。私は通常Rubyでしか動作しません。かなりエレガントで美しいコードコンベンションに慣れてきました。Javaのインライン文字列置換?

他の文字列を挿入したい文字列がある場合、Javaでそれを行う最も美しい方法は何ですか? Rubyで

、私はこのような何かを、一般的に(各変数は文字列です):

p "The #{person_title} took a #{mode_of_transit} to the #{holiday_location} for a nice #{verb} in the #{noun}" 

それは私が手動でこのようにそれらを連結する必要があることをJavaで表示されます:

println("The " + personTitle + " took a " + modeOfTransit + " to the " holidayLocation + for a nice " + verb + " in the " + noun) 

これはちょうど私に間違って感じる。それは動作しますが、それは滑らかではありません。 Javaでこれを行う方法はありますか?

+0

String.formatを使用できます。http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html#format(java.lang.String、java.lang。オブジェクト...)私はちょうどそれが面倒だと思う。 – eboix

答えて

7

最も近いようなものになるだろう:あなたが作るために、両方のSystem.out.printfSystem.out.formatと同じ)とformat stringを("%s"は、文字列の書式指定子である)を使用することができます

String s = String.format("The %s took a %s to the %s for a nice %s in the %s", personTitle, modeOfTransit, holidayLocation, verb, noun); 
0

フォーマット済み文字列をSystem.outに書き込むか、または静的メソッドString.format.を使用して文字列を書式設定する方法を使用できます。書式設定の詳細についてはthis記事を参照してください。

System.out.format("The %s took a %s to the %s for a nice %s in the %s", 
     personTitle, modeOfTransit, holidayLocation, verb, noun); 
3

フォーマットして直接印刷するためにフォーマットされた文字列、またはPrintStream.format()を構築するためのString.format()方法を見てみましょう。 (System.outPrintStreamです。)

0

それはより流動的に見えるし、あなたの出力をあなたが望むようにフォーマットする。

String.formatは、Stringという形式を返します(sprintfのように)。