저장 방법이 오버로드 된 서비스가 있습니다. 하지만 문제는 컴파일 오류를주는 4 개의 변수로이 메서드를 호출하려고 할 때입니다.varargs로 메소드를 오버로드하는 방법은 무엇입니까?
Incompatible type: String cannnot be converted to Task
메소드 이름을 변경하지 않고 첫 번째 저장 메소드를 호출하는 방법이 있습니까?
public void save(String message, Object... os) {//first save
adapter.save(formatMessage(message), os);
}
public void save(String username, Task task, String message, Throwable ex) {//second save
adapter.save(formatMessage(username, task, message));
}
나는 4 개의 변수를 호출한다.
myService.save("test", request.getMethod(), request.getRequestURI(),
Integer.valueOf(request.getContentLength()));
'Object []'이 배열은 vararg가 아니며 –
@TimCastelijns 내 질문을 편집했습니다. – hellzone
일반적으로 이것은'myService.save ("test", (Object) request.getMethod(), [...])'와 같은 것의 유스 케이스이다. vararg와 함께 작동하는지 확실하지 않습니다. – Izruo