Java 基于方法参数为类声明泛型类型
我的要求与下面类似Java 基于方法参数为类声明泛型类型,java,generics,collections,Java,Generics,Collections,我的要求与下面类似 public List getList(XXX xxx) { List<xxx> list = new ArrayList<xxx>(); ----some logic goes here---- return list; } 我想根据传递给方法的参数声明类的泛型类型。在上述方法中,xxx可以是字符串、整数或浮点 如何做到这一点 提前感谢您可以使用: public <T> List<T> getList(T param
public List getList(XXX xxx) {
List<xxx> list = new ArrayList<xxx>();
----some logic goes here----
return list;
}
我想根据传递给方法的参数声明类的泛型类型。在上述方法中,xxx可以是字符串、整数或浮点
如何做到这一点
提前感谢您可以使用:
public <T> List<T> getList(T param){
return new ArrayList<>();
}
您还可以使用以下选项:
public List<Object> getList(Object object) {
List<Object> list = new ArrayList<Object>();
----some logic goes here----
return list;
}
公共列表getListT{List List=new ArrayList;…谢谢你的回复。似乎我得到了正确的答案。让我试着确认一下。我有一个疑问。在方法签名之前提及有什么用。例如,public List getList……你能澄清我吗?检查你的答案clarification@Natalia:T在代码中没有意义,因为它只是在参数中的一个位置使用,而不是在返回中使用。它将相当于不会编译的公共列表getListObject TT,除非它在已经具有泛型参数的类中。该答案缺少t参数的用法…它不应该是ArrayList吗?@DaDaDom不是Java 7中的。t可以在返回上下文中推断出来。但是,它是,缺少T的声明,如在公共列表GetListParam{Hm,OK,true中。我从未想过从方法中使用类型来返回类型。不应该是公共列表,即att。