我正在使用该类创建一个测试用例Parameterized来提高可伸缩性。我有类似以下的东西...@RunWith(Parameterized.class)public class Test{ private final translator; @Parameterized.Parameters(name = "translate {0}") public static Collection parameters() { return Arrays.asList(new Object[][] { { Translate.EN }, { Translate.FR } }); } public Test1(Translate translate) { this.translator = new TranslatorImpl(translate); ... ...我有一个 Linter,它在以下部分抛出错误......return Arrays.asList(new Object[][] { { Translate.EN }, { Translate.FR }});它说...仅仅为了将其作为 varargs (...) 参数传递而创建数组是没有意义的;varargs 是一个数组。只需直接传递元素即可。它们将自动合并到一个数组中。顺便说一句,在需要 Object ... 的地方传递一个数组会使意图变得模糊:数组应该是一个对象还是一组对象?我可能需要添加更多参数,因此使用该类Parameterized很有帮助,我想使用它,但我不确定如何解决我遇到的问题以及它是否值得解决。任何想法都会有帮助。
1 回答
杨魅力
TA贡献1811条经验 获得超6个赞
Arrays.asList的签名是public static <T> List<T> asList(T... a)因此Arrays.asList,您可以向其提供单独的数组元素,而不是向 提供数组。在这个特殊情况下:
return Arrays.asList(
new Translate[] { Translate.EN },
new Translate[] { Translate.FR }
);
添加回答
举报
0/150
提交
取消