java泛型中T与?的区别是什么

这篇文章主要为大家详细介绍了java泛型中T与?的区别是什么,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

1、T代表的是未知的类型,使用在方法中的参数或类的泛型中

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泛型中T与?的区别是什么的详细内容了,看完之后是否有所收获呢?如果想了解更多相关内容,欢迎来亿速云行业资讯!