编辑:澄清一下,我想要 python 代码的 java 等价物。
如何将一个函数的所有参数传递给在该函数中调用的另一个函数。这在 Python 中可以通过以下方式实现:
def p(*args):
print(*args)
我知道在 Java 中可以使用 Object... objects
传递多个参数
但我不知道如何通过“解包”数组将它们传递给内部函数。我正在努力完成的一个例子:
public static void printf(Objects object) {
System.out.printf(objects)
//I don't believe that this works, but it's the jist of what I want to do
}
有没有更好的方法来做这样的事情或更像 Java 的方法?
最佳答案
对于 System.out.printf
的特定情况,这是很有可能的。因为 printf
有一个参数列表 (String, Object...)
。你可以这样做:
private static void foo(String s, Object... objs) {
System.out.printf(s, objs);
}
您基本上可以将类型为 Object...
的参数传递给另一个需要 Object...
或 Object[]
的方法.
但是,您不能做的是将 Object...
传递给需要 5 个 Object
的方法。
private static void foo(Object... objs) {
bar(objs)
}
private static void bar(Object a, Object b, Object c, Object d, Object e) {
}
你必须一个一个地传递参数:
bar(objs[0], objs[1], objs[2], objs[3], objs[4]);
关于java - 将参数从函数传递到 Java 中的内部函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46578022/