2014-06-18 3 views
0

호출 할 메서드에 대해 MethodList<Object> 매개 변수가 있습니다. 그러나 매개 변수 목록은 올바른 순서가 아니며 메서드 시그니처와 일치하는 매개 변수가 너무 많거나 충분하지 않을 수 있습니다.메서드 서명에 매개 변수 일치

휠을 재발 명하기 전에, 필자가 가지고있는 매개 변수 목록으로 메소드를 호출하는 함수가 존재하며 가능한 한 최선을 다해 메소드 서명에 대한 매개 변수와 일치합니다.

답변

-2

목록을 직접 메서드에 전달하거나 method overloading을 사용할 수 있습니다.

메서드 오버로드가 유용 할 수 있지만 인수가 잘못된 경우 실제로는 옵션이 아닙니다. 미리 개체 목록을 정렬 할 수 있다면 옵션 일 수 있습니다.

그러나 내 마음에, 개체 목록을 전달하는 가장 간단한 방법은 미리 자체를 해체하지 않고 목록 자체를 전달하는 것입니다. 이 경우 메서드 내에서 목록을 분리하기 위해 논리를 작성해야합니다. 이 경우에는 목록에 정확히 무엇이 들어 있는지 더 많은 테스트 기능을 제공합니다.

1

아니요, 문제를 해결하기위한 구현에는 MethodList<Object> 제공자가 제공하는 외부 정보가 필요합니다.

void method (String name, String city, String parent) {} 

같은 방법으로

List

"Sotirios", "New York", "Alexander" 

어디 각 인수는 Method#invoke(..) 갈 것?

해당 정보 만 알 수 있습니다.

+0

아하 나는 그것에 대해 생각하지 않았다. 내보기에는 서로 다른 유형 만 있습니다. 내가 뭔가를 쓸 것이라고 추측한다. – Cheetah

+0

@Cheetah (순서를 실제로 알지 못하면서) 당신이 할 수있는 대부분의 일은 상속을 고려한 최선의 노력이다. 주문 순위를 매기고 최상위 순위를 선택할 수 있습니다. –