我害怕varargs.我不知道该怎么用它们.
另外,让人们通过他们想要的许多论点是危险的.
什么是上下文的一个例子,它将是一个使用它们的好地方?
考虑方法声明:
String.format(String, Object ...)
Run Code Online (Sandbox Code Playgroud)
该Object ...参数只是对Objects 数组的引用.有没有办法使用此方法引用实际Object数组?如果我将Object数组传递给...参数 - 结果参数值是否为二维数组 - 因为a Object[]本身是Object:
Object[] params = ....; // Make the array (for example based on user-input)
String s = String.format("%S has %.2f euros", params);
Run Code Online (Sandbox Code Playgroud)
所以数组的第一个组件(在String.format方法中使用)将是一个数组,他将生成:
[class.getName() + "@" + Integer.toHexString(hashCode())]
Run Code Online (Sandbox Code Playgroud)
然后是一个错误,因为数组大小是1.
该大胆的顺序是真正的问题.
这是第二个问题:是否一个...数组/参数有名字吗?