>  기사  >  Java  >  Java 제네릭에서 T와 ?의 차이점은 무엇입니까?

Java 제네릭에서 T와 ?의 차이점은 무엇입니까?

王林
王林원래의
2020-05-16 09:58:426321검색

Java 제네릭에서 T와 ?의 차이점은 무엇입니까?

1. T는 클래스의 메서드 또는 제네릭의 매개 변수에 사용되는 알 수 없는 유형을 나타냅니다.

(비디오 튜토리얼 권장 사항: java 비디오)

public class ExampleA {
  public <T> void f(T x) {
        System.out.println(x.getClass().getName());
  }
  
  public static void main(String[] args) {
     ExampleA ea = new ExampleA();
     ea.f(" ");
     ea.f(10);
     ea.f(&#39;a&#39;);
     ea.f(ea);
  }
}

2. ?는 일반적으로 자리 표시자를 참조하며 사용할 수 없습니다. 컨테이너에 데이터 추가

 
// 注意ArrayList中不能加<?>
List<?> list = new ArrayList();
list.add(123);// 错误

추천 튜토리얼:Java 개발 시작하기

위 내용은 Java 제네릭에서 T와 ?의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.