1

是否可以编写类似的函数String.format(),其中第一个参数是带有占位符的字符串,其他参数可能是不同的类型?那么这个函数format是如何在 Java 中组织的呢?

4

7 回答 7

3

是的,只需做类似的事情

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

即我们使用可变参数


课程的来源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

这是 var args,你可以传递很多参数给函数,quando 函数接收这个是把它转换成数组。Obs:var args 是最后一个参数。对于 String.format() 的实现,您可以在您的 sdk 中查看源文件:java/sdk.../src.zip

于 2013-06-24T16:45:58.427 回答
1
public static void someFunction(String string, Object... objects) { ... }
于 2013-06-24T16:43:35.240 回答
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 回答
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 回答