我有以下采用可选参数的方法:
public void error(Message msg, Object... msgParams) {
error(la.line, la.col, msg, msgParams);
throw new Errors.PanicMode();
}
..我想这样称呼它:
private void handleCheck(boolean found, Message msg, Kind... expected) {
if (!found) {
error(msg, expected);
}
}
问题:
这会给我以下警告:
方法错误(Errors.Message, 对象...)与vararg参数类型不完全匹配。投放到 Object []确认非可变参数调用,或传递个人 可变参数调用的对象类型为实参。
它仍然可以正常工作,没有意外错误,但是我很好奇是否有一种方法可以在一行中不检查参数长度或类似内容的情况下调用这种方法。
答案 0 :(得分:1)
它告诉您警告消息中的操作:
投射到对象[]以确认非可变参数调用
所以:
Split