在您的情况下,varargs很好。您实际上并不需要对要导入的路径进行数组处理,因为除了将它们传递给您的
importFrom方法外,您不需要执行任何其他操作。
varargs功能使您不必为了将一组值传递给一次性方法而显式创建数组,而您似乎确实在这里拥有该数组。
顺便说一句,你 可以 还通过在一个数组,如果你想
public class VarargsDemo { public static void f(String... args) { for (String s: args) { System.out.println(s); } } public static void main(String[] args) { String[] english = new String[]{"one", "two", "three"}; f(english); f("uno", "dos", "tres"); }}因为行为是相同的,所以差异归结为您希望方法签名“说”什么的(可能是次要的)问题。当您声明一个方法以采用显式数组参数时,几乎就像您想强调要对数组对象进行操作一样,该对象已在方法外部定义,并在方法外部具有其自身的存在和重要性,并且其中可能涉及索引等操作。当用varargs声明方法时,就好像您在说“只是给我一堆东西”一样。
再说一遍,这不一定是正确的。JVM不知道它们之间的区别,只看到运行时的数组。许多程序员不会因为方法签名的目的而费心。Varargs旨在简化通话。
就是说,varargs 的主要 限制 是这样的参数必须是方法的最后一个。在您的情况下,这不是问题,但通常需要考虑。



