에 varags 인수 과부하 오류 :컴파일러 에러가 나는이 같은 두 가지 기능을 가지고 자바
두 번째 기능을 사용하려고하는데 이유를 모르겠습니까?
업데이트 :
public interface MyMessageProvider {
String getMessage(String code, Object... objects);
String getMessage(Locale locale, String code, Object... objects);
}
이 ReloadableResourceBundleMessageSource
이 그 두 가지 기능을 정의하는 인터페이스입니다
public class CustomMessageSource extends ReloadableResourceBundleMessageSource implements MyMessageProvider {
public static final String BEAN_NAME = "messageSource";
public static CustomMessageSource getInstance() {
return (CustomMessageSource) SpringApplicationContext.getBean(BEAN_NAME);
}
@Override
public String getMessage(String code, Object[] objects) {
return getMessage(getCurrentLocale(), code, objects);
}
@Override
public String getMessage(Locale locale, String code, Object... objects) {
return getMessage(code, objects, code, locale);
}
}
그리고 저는 다음과 같은 클래스에서 getMessage를 호출합니다 :
public class MyService {
@Autowired
private CustomMessageSource messageSource;
public String createSomeMessage(){
messageSource.getMessage("online.order");
}
}
String getMessage(String code)
을 인터페이스/구현에 추가하여 문제를 해결할 수 있습니다. 컴파일 오류로 인해 나 같은 생각이 들지 않습니다. 그러나 컴파일 오류가 발생합니다!
빌드가 최신 상태입니까? 같은 오류가 계속 나타나면'Project -> Clean'을 시도해보십시오. 좀 더 많은 맥락에서 [편집]하십시오. 위의 코드는 설명 된 오류를 _ 생성하지 않습니다. –
@MattClark, 내가 프로젝트를 청소했지만 여전히 동일한 컴파일 오류가 발생합니다. 지금까지 찾을 수있는 유일한 해결책은'String getMessage (String code)'라는 새로운 함수를 정의하고 그 내부에있는 첫 번째 함수를 varags로 null로 호출하는 것입니다. – Arashsoft
이상하게 보입니다. 첫 번째 메소드가 호출되어야합니다. 다른 오버로드 된 메소드가 있습니까? – Andrew