关于Varargs,我可以重复一组中的论点吗?
例如,我想允许用户传入:
myFunc(1, "one");
myFunc(1, "one", 2, "two");
myFunc(1, "one", 2, "two", 3, "three");
这似乎是不可能的。但正如文档中提到的,可变参数实际上是一个数组,在旧实现中。我想知道在发明可变参数之前人们是怎么做的。这可能会启发我们如何实现上述场景。我们可以认为我的场景毕竟是重复的。{int, String}...
感谢您的任何输入:-)
编辑:
感谢您的所有投入!
那么,它的调用方式myFunc(new wrap(1, "one"), new wrap(2, "two"), new wrap(3, "three"));
是旧方法吗?
编辑2:
嗯,不。那是我混乱的错。
为了
myFunc(1);
myFunc(1, 2);
myFunc(1, 2, 3);
旧的方式应该是
myFunc(new int[]{1});
myFunc(new int[]{1, 2});
myFunc(new int[]{1, 2, 3});
据我所知,重复的参数形成一个数组。它的所有参数必须是同一类型。以简单的方式实现上述调用应该是不可能的。出于好奇,我开始考虑运算符重载的可能性......(?)