我有一个签名如下的方法:
public ClaimSearchPage waitForClaimCondition(String header, String value, Pair<String, String>... conds) {
我的目的是让它们成对地通过几个(每个呼叫中可能有不同的数字)传递。每对都有一个键和一个值。此方法访问带有标题的网格。该方法遍历所有对,并针对每个键验证单元格中的值是否为传入的值。
Eclipse给了我一个警告:“类型安全:通过varargs参数conds潜在的堆污染”。通常,在Eclipse中,它会以黄色下划线标记代码,当您将鼠标悬停时,它会提供解决问题的建议。在这种情况下,它给出的唯一建议是禁止警告。我可以这样做,但是就是按照它说的去做,抑制警告。警告仍然存在。
我看到此警告可以引用不是它们所指向的超类型成员的类型,但是我不确定该怎么做?
该调用还发出警告“类型安全:为varargs参数创建了Pair的通用数组”,但没有提供解决方案。
我这样称呼它:
Pair<String, String> cond1 = Pair.of("Status", "Complete");
Pair<String, String> cond2 = Pair.of("Sub-Status", "Waiting");
myPage.waitForClaimCondition("Number", "12345", cond1, cond2);