2013-06-24 57 views
1

是否可以編寫與String.format()類似的函數,其中第一個參數是一個帶有佔位符的字符串,其他參數可以是不同的類型?如何在Java中組織這個函數format寫入函數類似於String.format

+1

'String.format()'使用['Formatter'](內部http://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html)。 – fge

+0

您在問「格式化程序如何處理佔位符」或「我們如何傳遞多個對象」?或者完全不同的東西? – parsifal

回答

3

是的,只是像做

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

即我們利用varargs


source of the String class

2780 public static String format(String format, Object ... args) { 
2781  return new Formatter().format(format, args).toString(); 
2782 } 
1
public static void someFunction(String string, Object... objects) { ... } 
0

這當然是可能的:String.format本身絕不是一個神奇的方法,所以我建議你看看它的源代碼。基本語言功能稱爲可變參數

0
public static String format(String str, Object... args) 
0
public static String format(String arg1, Object... args) 

通知的點在上面的代碼。這將方法的最後一個參數標記爲可變參數。您可以使用可變參數傳遞可變數量的參數。可變參數必須是方法中的最後一個參數。

1

這是變參,你可以通過許多參數的功能,quando功能收到這是將其轉換爲陣列。 Obs:var args是最後一個參數。 爲了實現String.format(),你可以在你的sdk中看到源文件: java/sdk .../src.zip

相關問題