Mar*_*oma 6 python java parameter-passing
以下Python片段完全符合我的意思:
def function(a, b, c):
print("%i :: %s :: %f" % (a,b,c))
a = 1
b = "abc"
c = 1.0
function(a, b, c)
list = [a, b, c]
# This is what I am searching for in Java
function(*(list))
Run Code Online (Sandbox Code Playgroud)
所以我有一个类似列表的结构,我不知道它有多少个参数,但我知道它有正确数量的参数和正确的类型和格式.我想把它们传递给一个方法.所以我必须"扩大"这些论点.有人知道如何在Java中这样做吗?
Java没有这种功能,因为作为一种静态的强类型语言,一种方法采用统一类型的值集合并不常见,这些值可以全部存储在某个复合对象(数组,列表等)中.Python没有这个问题,因为一切都是动态类型的.您可以通过定义一个帮助器方法在Java中执行此操作,该方法将单个对象保存所有参数,然后在调用实际方法时将它们展开.
希望这可以帮助!