1
12
要将参数传递给varargs方法,编译器将把参数放入数组中。
警告是让您知道编译器不能保证数组中的每个元素(varags方法的每个参数)都是真正的
这是一个有点烦人的警告,因为除了重新定义方法签名以不使用varargs之外,没有其他方法可以解决这个问题。在IMO中,只要您非常确定这些参数的实际运行时类型(在本例中是这样),就可以安全地忽略这些参数。 |
2
4
除了添加
既然你说这是一个私有的方法,那么在这种情况下就没有“客户”,你可以控制这个方法,所以忽略这个警告似乎是合理的。 有几次,当我创建以参数化类型作为varargs参数的方法时,我创建了一些重载:
这可以避免一些警告,具体取决于提供了多少参数。 |
3
3
对于任何登陆这里的人来说,答案都有点陈旧。Java7引入了
从javadoc:
|
4
2
通过使用一些构建器接口(例如 the one I'm using ). 使用这个CollectionBuilder,它会变成这样:
没有通用参数会更漂亮:
作为varargs解决方案,它当然要长一些,但有时还是很方便的。 |
Iliketoproveit · MATLAB函数中的变量参数对 6 年前 |
jetstream · 变量参数和函数指针向量 6 年前 |
WrathOfFlame · 解压缩函数调用的参数数组 7 年前 |
flawr · 如何编写输出参数数目可变的匿名函数? 7 年前 |
Tyler Jackson · 子类中变量函数特化的定义 7 年前 |
Brave Shine · Lisp&rest参数和递归调用 7 年前 |