Kotlin의 자바 제네릭 : Kotlin에서 자바 원시 유형을 메소드 매개 변수로 사용

TpoM6oH

Facebook SDK에서이 클래스를보고 있습니다.

public final class ShareDialog extends 
                  FacebookDialogBase<ShareContent, Sharer.Result>

Kotlin에서 다음과 유사한 부모 클래스를 허용하는 메서드를 갖고 싶습니다.

fun shareToFacebook(shareDialog: FacebookDialogBase<ShareContent<*, *>, Sharer.Result>,
                    activity: Activity) 

그러나 내가 그것을 자바 형태로 부르려고 할 때 :

tournamentPresenter.shareToFacebook(new ShareDialog(this), this);

컴파일 시간 오류가 발생합니다.

Error:(751, 45) error: incompatible types: ShareDialog cannot be converted to FacebookDialogBase<ShareContent<?,?>,Result>

추신 : 발표자에게 공유 대화를 제공하지 않는 것이 더 낫다는 것을 알고 있습니다. 저는 그렇게하지 않을 것입니다. 문제의 예로 사용하겠습니다.

존 버니

문제는 ShareDialog원시 유형을 사용하는 클래스 의 서명입니다 .

public final class ShareDialog extends 
              FacebookDialogBase<ShareContent, Sharer.Result>
.................................^^^^^^^^^^^^

그리고 Kotlin 문서에를 사용하라고되어 있지만와 *동일한 VM 수준 ?에서 와일드 카드를 사용합니다. FacebookDialogBase<ShareContent, Sharer.Result>는 할당 할 수 없기 때문에 FacebookDialogBase<ShareContent<?, ?>, Sharer.Result>호출이 실패합니다.

그러나 원시 유형을 사용하는 것은 유형 매개 변수로 와일드 카드를 사용하는 것과 의미 상 동일 해야 합니다. 따라서 재 해석 캐스트에 해당하는 일반적인 작업을 수행 할 수 있습니다.

FacebookDialogBase<ShareContent<?, ?>, Sharer.Result> myVar = (FacebookDialogBase) new ShareDialog(this);
tournamentPresenter.shareToFacebook(myVar, this);

그리고 상황은 여전히 ​​거의 동일하게 작동합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

그것이 가능하면 원래의 제네릭 형식 매개 변수를 자바 바이트 코드를 다시 컴파일하기

분류에서Dev

자바 제네릭의 독립형 형식 매개 변수

분류에서Dev

자바 제네릭 : 하나 명의 함수 서명을 사용하는 과정이 개 일반적인 유형의 청소 방법

분류에서Dev

DryIoC는 제네릭 유형 매개 변수를 기반으로 개방형 제네릭 서비스의 생성자에 매개 변수를 전달합니다.

분류에서Dev

생성자 메서드 참조에서는 제네릭 형식 매개 변수를 사용하지 사이의 차이점은 무엇입니까?

분류에서Dev

Spring mvc의 컨트롤러 메소드 Bean에 허용되는 바인딩 요청 매개 변수 및 파일을 사용자 정의하십시오.

분류에서Dev

대리자 메서드의 일부와 동일한 제네릭으로 정의 된 매개 변수에서 제네릭 형식을 유추 할 수없는 이유는 무엇입니까?

분류에서Dev

메소드 매개 변수에서 제네릭 유형을 일치시킬 수 없습니다.

분류에서Dev

자바의 추상 메소드에서 제네릭 형식을 와일드 카드를 사용하여 선언의 차이

분류에서Dev

자바 제네릭 : 하나 개의 집합으로서, 여러 제네릭 형식을 Useing

분류에서Dev

메소드에서 매개 변수로 제네릭 클래스 사용

분류에서Dev

C #에서 제네릭 형식을 매개 변수로 사용

분류에서Dev

자바 제네릭 메소드에 대한 도움을 구하십시오.

분류에서Dev

자바 제네릭 메소드에 대한 도움을 구하십시오.

분류에서Dev

클래스를 열거 형의 생성자 매개 변수로 전달한 다음 메소드에서 반환 유형으로 사용할 수 있습니까?

분류에서Dev

스칼라에서 매개 변수의 변수 금액을받을 호출 자바 메소드

분류에서Dev

메서드 재정의시 반환 유형을 변경할 수 없음, 제네릭 사용시 오류

분류에서Dev

자바 : 사용 "이"인스턴스 메서드의 인수 / 매개 변수 이름으로?

분류에서Dev

확장 메소드에서 'this'매개 변수의 제네릭 유형 매개 변수를 어떻게 얻을 수 있습니까?

분류에서Dev

자바 제네릭 - 유형 매개 변수`K`는 경계 내에 있지; X를 구현해야합니다

분류에서Dev

자바 - 말했다 유형의 소비자에게지도 제네릭 형식

분류에서Dev

자바 제네릭은 메서드의 반환 형식 앞에 와일드 카드 용도를 경계

분류에서Dev

추상 제네릭 클래스에서 파생 된 클래스가 자신을 제네릭 매개 변수로 사용하는지 확인하는 방법

분류에서Dev

자바 제네릭. 유형 불일치 : 개체에서 다음으로 변환 할 수 없습니다.

분류에서Dev

제네릭 메서드에서 유형 매개 변수의 값을 참조하는 방법

분류에서Dev

객체 유형을 사용하는 대신 메소드 매개 변수로 제네릭 유형 인수를 사용하는 사용법은 무엇입니까?

분류에서Dev

'?'를 사용하여 List & Map에서 매우 긴 유형 인수를 피하십시오. 자바의 키워드

분류에서Dev

IEnumerable <T>의 매개 변수를 사용하여 제네릭 메서드 호출

분류에서Dev

하나의 제네릭 생성자 매개 변수로 유형을 등록 / 해결하는 방법

Related 관련 기사

  1. 1

    그것이 가능하면 원래의 제네릭 형식 매개 변수를 자바 바이트 코드를 다시 컴파일하기

  2. 2

    자바 제네릭의 독립형 형식 매개 변수

  3. 3

    자바 제네릭 : 하나 명의 함수 서명을 사용하는 과정이 개 일반적인 유형의 청소 방법

  4. 4

    DryIoC는 제네릭 유형 매개 변수를 기반으로 개방형 제네릭 서비스의 생성자에 매개 변수를 전달합니다.

  5. 5

    생성자 메서드 참조에서는 제네릭 형식 매개 변수를 사용하지 사이의 차이점은 무엇입니까?

  6. 6

    Spring mvc의 컨트롤러 메소드 Bean에 허용되는 바인딩 요청 매개 변수 및 파일을 사용자 정의하십시오.

  7. 7

    대리자 메서드의 일부와 동일한 제네릭으로 정의 된 매개 변수에서 제네릭 형식을 유추 할 수없는 이유는 무엇입니까?

  8. 8

    메소드 매개 변수에서 제네릭 유형을 일치시킬 수 없습니다.

  9. 9

    자바의 추상 메소드에서 제네릭 형식을 와일드 카드를 사용하여 선언의 차이

  10. 10

    자바 제네릭 : 하나 개의 집합으로서, 여러 제네릭 형식을 Useing

  11. 11

    메소드에서 매개 변수로 제네릭 클래스 사용

  12. 12

    C #에서 제네릭 형식을 매개 변수로 사용

  13. 13

    자바 제네릭 메소드에 대한 도움을 구하십시오.

  14. 14

    자바 제네릭 메소드에 대한 도움을 구하십시오.

  15. 15

    클래스를 열거 형의 생성자 매개 변수로 전달한 다음 메소드에서 반환 유형으로 사용할 수 있습니까?

  16. 16

    스칼라에서 매개 변수의 변수 금액을받을 호출 자바 메소드

  17. 17

    메서드 재정의시 반환 유형을 변경할 수 없음, 제네릭 사용시 오류

  18. 18

    자바 : 사용 "이"인스턴스 메서드의 인수 / 매개 변수 이름으로?

  19. 19

    확장 메소드에서 'this'매개 변수의 제네릭 유형 매개 변수를 어떻게 얻을 수 있습니까?

  20. 20

    자바 제네릭 - 유형 매개 변수`K`는 경계 내에 있지; X를 구현해야합니다

  21. 21

    자바 - 말했다 유형의 소비자에게지도 제네릭 형식

  22. 22

    자바 제네릭은 메서드의 반환 형식 앞에 와일드 카드 용도를 경계

  23. 23

    추상 제네릭 클래스에서 파생 된 클래스가 자신을 제네릭 매개 변수로 사용하는지 확인하는 방법

  24. 24

    자바 제네릭. 유형 불일치 : 개체에서 다음으로 변환 할 수 없습니다.

  25. 25

    제네릭 메서드에서 유형 매개 변수의 값을 참조하는 방법

  26. 26

    객체 유형을 사용하는 대신 메소드 매개 변수로 제네릭 유형 인수를 사용하는 사용법은 무엇입니까?

  27. 27

    '?'를 사용하여 List & Map에서 매우 긴 유형 인수를 피하십시오. 자바의 키워드

  28. 28

    IEnumerable <T>의 매개 변수를 사용하여 제네릭 메서드 호출

  29. 29

    하나의 제네릭 생성자 매개 변수로 유형을 등록 / 해결하는 방법

뜨겁다태그

보관