java <T>T和T的区别 java中Class<T>类型和不写<T>的区别

作者&投稿:高巩 (若有异议请与网页底部的电邮联系)
在你这段代码里面是没有区别的,实际上如果是<T>的话,是可以传参数class的,也就是说,如果说你声明Test<T>的对象的时候getT2的返回类型就已经确定了,但是getT3的返回值的类型却可以是你传进来的参数class的类型,也就是说这个方法的返回值的类型可以在你调用方法时候进行设定

泛型可以用"<T>"代表,那么前面的T就是泛型类型,后面的参数T表示的是自定义参数。
解释: “<T>”是泛型的默认值,可以被任意类型所代替,如:
List<String> T= new ArayList<String>();这个就定义了一个String类型的”泛型“集合,那么T(前面的)的类型就是字符串。
List<T> T= new ArayList<T>();
可以赋值给T:T.add("StringBatch");
可以获取到list的值:T.get(0),结果就是”StringBatch“;
这个时候T的类型也是String。也就是说T(前面的)是动态的,可以被任意指定类型。

<T> 代表的是泛型 ,意思就是 你 new 的是什么类型传入的就是什么 类型
Test<String> 这里就是你传入的是 String 类型
所以 private T t;的这个T就是 private String t;
getT2 也就是 public String getT2
getT3 因为<T> 代表的就是 String 所以 也是 public String getT3
其实这两个没区别 只是你写法不同罢了

<T>
是泛型

Java 里面<T>T 是什么意思?~

T是代表任意一种类型,这是泛型里的问题,是一种形式,表示你用的是泛型编程,不受类型的约束

要么不写泛型, 默认为Object
要么写尖括号 也是Object
否则就老实写好类型.