java <T>T和T的区别

public class Test<T>{
private T t;
public T getT(){
return t;
}

public void setT(T t){
this.t = t;
}

public T getT2( T t){
return t;

}

public <T> T getT3(T t){
return t;
}

public static void main(String[] args){
Test<String> tt = new Test<String>();
tt.setT("123");
System.out.println(tt.getT());
System.out.println(tt.getT2("111"));
System.out.println(tt.getT3("222"));

}

}
在这里程序能运行,但是getT2和getT3有区别么?希望能详细解释下之间区别.谢谢

在你这段代码里面是没有区别的,实际上如果是<T>的话,是可以传参数class的,也就是说,如果说你声明Test<T>的对象的时候getT2的返回类型就已经确定了,但是getT3的返回值的类型却可以是你传进来的参数class的类型,也就是说这个方法的返回值的类型可以在你调用方法时候进行设定
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-01
泛型可以用"<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(前面的)是动态的,可以被任意指定类型。
第2个回答  2015-02-09
<T> 代表的是泛型 ,意思就是 你 new 的是什么类型传入的就是什么 类型
Test<String> 这里就是你传入的是 String 类型
所以 private T t;的这个T就是 private String t;
getT2 也就是 public String getT2
getT3 因为<T> 代表的就是 String 所以 也是 public String getT3
其实这两个没区别 只是你写法不同罢了追问

我感觉好像是在非泛型类里标识为泛型方法的标识,如果类本身是泛型类,就无需这种写法,可以这么理解么?

追答

可以

本回答被网友采纳
第3个回答  2015-02-09
<T>
是泛型

java <T>T和T的区别
在你这段代码里面是没有区别的,实际上如果是<T>的话,是可以传参数class的,也就是说,如果说你声明Test<T>的对象的时候getT2的返回类型就已经确定了,但是getT3的返回值的类型却可以是你传进来的参数class的类型,也就是说这个方法的返回值的类型可以在你调用方法时候进行设定 ...

java中返回值类型<T> T 这两个T分别代表什么?
定义一个泛型方法get,含有一个泛型T,方法有一个参数,类型为Class<T>。

Java 里面<T>T 是什么意思?
T是代表任意一种类型,这是泛型里的问题,<T>是一种形式,表示你用的是泛型编程,不受类型的约束

java中的函数的返回值 <T> T execute(StatementCallback<T> action)
<T> 表示是泛型方法;T返回值类型是T类型

JAVA 中<t>是什么意思,
JAVA 中<t>是泛型的意思。意思是Tree这个类里面需要用到另外一个类,但是又不能确定要用到的那个类的具体类型,所以暂时用T来代替。当具体的程序知道要用到的那个类型是什么的时候就用那个类型来代替T,例如需要实例化一个Tree类,需要用到的那个类是String,那么就可以这么来实例化Tree<String>()。

java中t是什么意思?
JAVA 中<t>是泛型的意思 意思是Tree这个类里面需要用到另外一个类,但是又不能确定要用到的那个类的具体类型,所以暂时用T来代替,当具体的程序知道要用到的那个类型是什么的时候就用那个类型来代替T,就ok了。例如我需要实例化一个Tree类,需要用到的那个类是String,那么我就可以这么来实例化Tree<...

java class类的那个Class<T>这个T是什么啊
generic type 比如 Employee.class, T就是Employee

java。public <T> T, public <T> String写法是什么意思?
这是泛型的写法,就是说这个类没有被指定类型,后面这个string就是说这个泛型被指定了类型,实际上尖括号里面的T可以替换成String

java,关于利用反射自动设置List<T>中T的类型
解释: “<T>”是泛型的默认值,可以被任意类型所代替,如:List<String> list = new ArayList<String>();这个就定义了一个String类型的”泛型“集合,那么T的类型就是字符串。List<T> list = new ArayList<T>();可以赋值给list:list.add("StringBatch");可以获取到list的值:list.get(...

JAVA里的空白\\t\\n\\r\\b\\p分别代表什么?
1、只有前面三个,表示转义符 1.1 \\t表示tab键按一下,\\n表示回车换行 , \\r 表示回车到当前行行首 1.2 对应的 1.3 '\\r' 回车,回到当前行的行首,而不会换到下一行,如果接着输出的话,本行以前的内容会被逐一覆盖;'\\n' 换行,换到当前位置的下一行,而不会回到行首;2、后...

相似回答