Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 基于方法参数为类声明泛型类型_Java_Generics_Collections - Fatal编程技术网

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。