编写类似于String.format的函数

时间:2013-06-24 16:41:49

标签: java

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

7 个答案:

答案 0 :(得分: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 :(得分:1)

public static void someFunction(String string, Object... objects) { ... }

答案 2 :(得分:1)

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

答案 3 :(得分:0)

肯定有可能:String.format本身绝不是一种神奇的方法,所以我建议你看看它的源代码。基本语言功能称为 varargs

答案 4 :(得分:0)

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

答案 5 :(得分:0)

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

注意上面代码中的点。这标志着该方法的最后一个参数为变量参数。您可以使用varargs传递可变数量的参数。 vararg必须是方法中的最后一个参数。

答案 6 :(得分:0)

Object... args导致一组参数外,您可能希望查看重载:http://docs.oracle.com/javase/tutorial/java/javaOO/methods.html