홈>
제네릭을 처음 사용하고 아래와 같은 방법이 있습니다
public <T1, T2> void test(Details<T1, T2> reportDetails, List<T1> ent1, List<T2> ent2)
Converter<? super T1, Box> conv1
Converter<? super T2, Box> conv2
converter is of type org.springframework.core.convert.converter
이것은 실제로 보고서를 다운로드하기위한 것이며, T1은 하나의 보고서이고 T2는 또 다른 보고서이며 더 많은 테이블이 추가되면 새로운 유형을 추가 할 필요가 없도록보다 일반적인 것이기를 원합니다. T1, T2가 동적이어야합니다 .T1과 T2를 모두 서버로 사용하여 나중에 필요한 경우 새 유형 (T3)을 추가 할 필요가없는 일반적인 하나를 원합니다. 그렇게하는 방법이 있습니까?
보다 명확하게 : T1과 T2가 없어도 하나만 가질 수 있도록 T1과 T2를 모두 저장할 수있는 일반화 된 변환기 객체 목록을 만들 수있는 방법이 필요합니다.
- 답변 # 1
- 답변 # 2
<? extends T>
를 시험해 주시겠습니까? 그리고<? super T>
. 무한한 와일드 카드는 다음과 같으며 기본적으로 의미합니다. 제네릭은 모든 유형이 될 수 있습니다. 바운드 와일드 카드 (또는)는 특정 유형을 확장해야하거나 (상한이라고도 함) 특정 유형의 조상이어야합니다 (하한이라고 함). 자세한 정보.
관련 자료
- 2 개 이상의 팀을위한 Git 흐름
- class - 자바의 제네릭 클래스
- javascript - 자바 임시 변환
- javascript - Highcharts에서 둘 이상의 "dataMax"를 표시하는 방법은 무엇입니까?
- json - BGP 순위에 대한 자바 API
- html - 페이지에서 둘 이상의 슬라이딩 메뉴
- java - 비 컬렉션의 제네릭 용 PECS
- 식품 시스템 용 게임용 Java 타이머
- android studio - 내 앱에 100 개 이상의 이미지를 추가하는 방법
- exchangewebservices - EWS Java API에 대한 스트림 알림
- python 3.x - 스크롤 영역 높이가 4000을 넘지 않습니다
- java - JVM이 둘 이상의 가비지 수집기를 사용합니까?
- javascript - nextconfigjs에 두 개 이상의 플러그인을 추가하는 방법
- 팬더에서 둘 이상의 열을 평균하십시오
- jsp - 동일한 사용자에 대한 Java 다중 HttpSession ID
- tcl - 한 번에 둘 이상의 열을 기준으로 행렬을 정렬하는 방법
- javascript - 포커스가있는 둘 이상의 요소를 찾는 방법
- java - SendKeys가 예상보다 많은 키를 보냅니다
- javascript : ExtJS에서 둘 이상의 GridFilter 유형을 사용하는 방법은 무엇입니까?
- docker - 하나 이상의 cassandra 노드를 시작할 수 없습니다
질문이 불분명합니다.
기본적으로 사용한 서명은 위의 방법이 일반적이므로 T1 및 T2에 대해 두 가지 유형을 모두 지원한다는 것을 의미합니다.
"두 가지"콘크리트 유형의 조합의 경우 위의 서명이 작동 할 수 있습니다.
더 많은 유형의 유형을 원하면 서명을 향상시켜야합니다. 더 이해하기 위해 Tuples에 대해 읽을 수 있습니다.
수정 : 올바르게 이해하면 '보고서'를 유형으로 정의한 다음 내 방식을 세워야합니다.
정의한 방법은 다음과 같습니다.
그리고 변환기는 모두 다음과 같이 정의 될 수있는 곳에 보관 될 것입니다 :
이것이 당신의 뒤를 바라고 있습니다. 이것이 당신이 찾고있는 것이라면 제네릭의 경계에 약간의 시간을 보내야한다고 생각합니다.