1

String.format()最初の引数がプレースホルダー付きの文字列で、他の引数が異なる型である可能性がある場合、同様の関数を と書くことは可能ですか? この関数formatはJavaでどのように編成されていますか?

4

7 に答える 7

3

はい、次のようなことをしてください

public static String myMethod(String str, Object... args) {
    ...
}

つまり、 varargsを利用します。


クラスソースStringから:

2780 public static String format(String format, Object ... args) {
2781     return new Formatter().format(format, args).toString();
2782 }
于 2013-06-24T16:43:31.203 に答える
1
public static void someFunction(String string, Object... objects) { ... }
于 2013-06-24T16:43:35.240 に答える
1

これは var args です。多くのパラメーターを関数に渡すことができます。quando 関数はこれを受け取り、配列に変換します。Obs: var args は最後のパラメーターです。String.format() の実装については、sdk のソース ファイルを java/sdk.../src.zip で確認できます。

于 2013-06-24T16:45:58.427 に答える
0

それは確かに可能です。String.formatそれ自体は決して魔法のメソッドではないので、そのソース コードを確認することをお勧めします。基本的な言語機能はvarargsと呼ばれます。

于 2013-06-24T16:43:54.977 に答える
0
public static String format(String str, Object... args)
于 2013-06-24T16:44:13.153 に答える
0
于 2013-06-24T16:44:54.283 に答える
0

Apart from Object... args resulting in an array of arguments, you might want to look into overloading: http://docs.oracle.com/javase/tutorial/java/javaOO/methods.html

于 2013-06-24T16:45:00.767 に答える