有什么区别:
public <T> void createArray(T sample){
ArrayList<T> list = new ArrayList<T>();
list.add(sample);
}
和
public void createArray(T sample){
ArrayList<T> list = new ArrayList<T>();
list.add(sample);
}
我读到使用类型的方法签名应该有 <T>
在返回类型之前,但为什么我仍然能够在没有 <T>
的情况下创建方法?放不放有什么影响?
最佳答案
在第二种方法中,类型参数通常会在该方法所属的类声明中定义:
class MyClass<T> {
public void createArray(T sample){
ArrayList<T> list = new ArrayList<T>();
list.add(sample);
}
...
}
所以第二种方法属于泛型类型。 第一种方法是通用方法,因为它定义了自己的类型参数。
关于java - 返回类型之前的通用方法java 6 <T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33754034/