Java에서 제네릭을 사용하면 개발자는 별도의 작업 없이도 다양한 데이터 유형에 대해 작동하는 코드를 작성할 수 있습니다. 동일한 코드의 여러 버전을 생성합니다. 제네릭을 사용할 때
사용 시기
Map<String, Class<? extends Serializable>> expected = null;
예상 맵은 직렬화 가능을 구현하는 모든 클래스 또는 해당 하위 클래스를 나타내는 클래스 객체를 보유할 수 있습니다.
제공된 예에서:
Map<String, Class<java.util.Date>> result = null; assertThat(result, is(expected));
결과 맵은 Date 클래스 객체만 보유할 수 있다고 지정합니다. 결과 유형을 확인할 때 AssertThat 메소드는 결과 유형에 맞는 Matcher를 기대합니다. 그러나 예상되는 맵 유형인 Matcher assertThat 메소드 시그니처를 JUnit에서 AssertThat 메소드의 일반화는 호환 가능한 Matcher를 보장하도록 설계되었습니다. 제공됩니다. 그러나 Matcher 클래스에는 제네릭 유형이 필요하지 않으므로 일반화가 중복된 것처럼 보일 수 있습니다. 그러나 Matcher가 테스트 중인 결과의 실제 유형을 처리할 수 있도록 보장하여 유형 안전성을 제공합니다.
assertThat 메소드 일반화
위 내용은 Java Generics에서 언제, 왜 ``를 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!