하나의 매개 변수를 사용하는 메소드가 있다고 가정 해 보겠습니다.
이 매개 변수는 다음과 같은 요구 사항을 충족해야합니다Java 메소드 매개 변수 유형 및 인터페이스 규정
- : 방법은 매개 변수가 특정 클래스 (또는 서브 클래스)의 것을 알 필요가있다.
- 'implements interface':이 메서드는 매개 변수가 특정 인터페이스를 구현하는지 알아야합니다.
저는 iOS 개발에서 왔습니다. 목표 C에서, 우리는 같은 것을 쓸 수 있습니다 :
의미- (void)theMethod:(aClass<aProtocol> *)parameter
: 매개 변수의 클래스가 'aClass'(또는 그 서브 클래스)이며이 'aProtocol'구현합니다.
그래서 메서드 내에서 클래스와 프로토콜의 메서드를 모두 안전하게 호출 할 수 있습니다 (개체가 요구 사항과 일치하지 않으면 컴파일러에서 경고합니다).
Java에서 이러한 메소드 서명을 어떻게 얻을 수 있습니까? 심지어 가능할까요? 어쩌면 더 구체적인 예는 내가 찾고 무엇을 보여줄 수
, 난의 GridView에 DataItem
의를 표시합니다. 배열 DataItem
을 통해보기를 채우는 GridViewAdapter
있습니다. DataItem
은 여러 개의 하위 클래스가 있으며 직접 사용되지는 않지만 하위 클래스의 공통 인터페이스를 정의하기 때문에 다소 추상적입니다. GridView
에는 모두 DataItems
이 표시 될 수있는 것은 아니므로 어댑터로 GridView
에 표시하려면 GridViewItem
인터페이스가 있어야합니다.
현재 GridViewAdapter
의 기본 생성자는 다음과 같습니다.
public GridViewAdapter(ArrayList<GridViewItem> items)
.
내가 원하거나 원하는 것은
public GridViewAdapter(ArrayList<[DataItem (or subclass) conforming to GridViewItem]>
입니다.
어댑터가 GridViewItem
을 준수하는 DataItem
만을 사용하는지 확인해야합니다.
완벽! 덕분에이 작품은 나를 위해 :) – Cabus