2012-09-02 7 views
0

일반 매개 변수의 여러 선택을위한 인터페이스를 구현할 수 있습니까? 예를 들어 인터페이스가있는 경우다른 제네릭과 인터페이스를 구현합니까?

public interface MyInterface<T> { 
    T doSomething(T); 
} 

그런 다음 T? 예를 들어,

위의 코드는 제대로 작동하지 않으므로 Java에서 제대로 수행해야합니까?

+1

아니요, 할 수 없습니다. – oldrinb

+5

아니요, 유형 삭제 때문입니다. – SLaks

답변

1

제대로 작동하지 않아야하는 이유가 충분하기 때문에이 방법을 사용할 수있는 방법이 없다고 생각합니다. 그러나 사용 사례가 정확히 무엇인지에 따라 해결 방법이있을 수 있습니다. 그것. 예를 들어 :

public class MyClass implements MyInterface<Object> { 

    Object doSomething(Object T) { 
     if (T instanceof SomeClass) { 
      doSomethingSomeClass((SomeClass)T); 
     } else if (T instanceof SomeOtherClass) { 
      doSomethingSomeOtherClass((SomeOtherClass)T) { 
     } else { 
      // handle other objects - return null? throw exception? 
     } 
    } 

    SomeClass doSomethingSomeClass(SomeClass T) { 
     //here the implementation 
    } 

    SomeOtherClass doSomethingSomeOtherClass(SomeOtherClass T) { 
     //here the implementation 
    } 
} 

그리고 기억하는 당신은 <? super SomeClass> 또는 <? extends SomeClass>는 또한 때때로이 같은 문제에 도움이 될 수 있습니다 사용할 수 있습니다.

관련 문제