>

아래 샘플 루틴의 모든 클래스 인수와 일치하는 방법이 있습니까?

class A {
     public B method(Class<? extends A> a) {}
}

어떻게 항상 을 반환 할 수 있습니까?새로운 b ()어떤 수업이 통과하는지에 관계없이방법~을 빼앗아가는 것 다음 시도는 특정 경우에만 작동합니다.NS일치합니다.

A a= new A();
B b= new B();
when(a.method(eq(A.class))).thenReturn(b);


편집 : 하나의 해결책은

(Class<?>) any(Class.class)

클래스 놀라운!

António Almeida2021-08-03 02:49:08

(class.class) 솔루션 (클래스 ) 솔루션은 여기에 답변이어야합니다. 나는 그 때 아래에 보이는 ClassorSubclassmatcher 클래스를 사용하는 것이 훨씬 많이 사용됩니다.

superbAfterSemperPhi2021-08-03 02:49:08

@superbaftersemperphi 및 Johan-sjöberg 나는 캐스팅없이 다른 방법을 게시했습니다. 나는 그것이 더 좋은 방법 일 수 있다고 믿습니다. 어떻게 생각하나요?

anmaia2021-08-03 02:49:08

관련 자료

  • 이전 syntax - 이 Java 코드에서 실제로 밑줄은 무엇입니까?
  • 다음 amazon web services - 더 빠른 s3 버킷 복제