java泛型中T与?有什么区别

java泛型中T与?有什么区别,第1张

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('a');
     ea.f(ea);
  }
}

2、?则表示泛型类中的泛指,是一个占位符,不能往容器中添加数据

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

推荐教程:java开发入门

以上就是java泛型中T与?有什么区别的详细内容,

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/688266.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-21
下一篇 2022-04-21

发表评论

登录后才能评论

评论列表(0条)

保存