입력으로 여러 클래스를 받아 들일 수있는 주석을 만들려고합니다. 일반적인 사용은 내가 전제 조건 주석에 허용 된 유형을 제한 할여러 바인딩 된 제네릭 클래스 인수로 주석을 만들 수 없습니다.
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Inherited
public @interface Prerequisites {
public Class<?>[] value();
}
아래와 같이이를 위해
@Prerequisites{FirstPrerequisite.class, SecondPrerequisite.class}
내가 주석을 만들 수있을 것이다. 그러나 내가 같은 것을주는 경우 public Class<? extends Dependency>[] value();
문제가 My FirstPrerequisite이고 SecondsPrerequisite가 동일한 유형에서 확장 될 수 있습니다. 다음과 같은 시도했지만 아무도 작동하는 것, 그들은 컴파일 오류를 제공하고 있습니다.
public Class<? extends Dependency & TestCaseStep>[] value();
public Class<? extends Dependency , TestCaseStep>[] value();
public Class<T extends Dependency & TestCaseStep>[] value();
제네릭에서 두 가지 유형의 입력을 가져 오는 방법은 무엇입니까?
두 번째 옵션은 내가 과거에 만든 두 가지 유형으로 작업해야하기 때문에 나를위한 것입니다. 나는 함께 가져와야합니다. 감사. – Buddha