dvi*_*vim 6 java string format wrapper
大家好,我想在我自己的Logger类中包装String.format()方法.我无法想办法如何将参数从我的方法传递给String.format().
public class Logger
{
public static void format(String format, Object... args)
{
print(String.format(format, args)); // <-- this gives an error obviously.
}
public static void print(String s)
{
System.out.println(s);
}
}
Run Code Online (Sandbox Code Playgroud)
您的代码有效。vararg 或多或少只是 vararg 的语法装箱。
换句话说,以下两个语句实际上是相同的:
String.format("%s %s", "Foo", "Bar")
String.format("%s %s", new Object[] {"Foo", "Bar"})
Run Code Online (Sandbox Code Playgroud)
无论您有 0、1、2 还是任何其他数量的参数,您args在代码中都将始终是Object[]。
请注意,这是在编译时确定并查看对象的静态类型,因此String.format("%s %s", (Object)new Object[] {"Foo", "Bar"})会导致数组被视为单个对象(在这种情况下会导致抛出运行时错误)。
如果您的代码仍有问题,请检查您的示例是否与您的代码工作方式完全相同。
| 归档时间: |
|
| 查看次数: |
3820 次 |
| 最近记录: |