返回所传递参数的实例的Java泛型方法

返回所传递参数的实例的Java泛型方法,java,generics,Java,Generics,我想创建一个具有如下签名的方法: public-Dao-createDao(ClassA-param1,ClassB-param2) 但这不是有效的Java。 我想创建一个方法,该方法接收任何类,创建一个Dao对象,然后返回新对象 public Dao<ClassA,ClassB> createDao(ClassA param1, ClassB param2) { //Do some stuff that creates an object of Dao<param1,

我想创建一个具有如下签名的方法:

public-Dao-createDao(ClassA-param1,ClassB-param2)

但这不是有效的Java。 我想创建一个方法,该方法接收任何类,创建一个Dao对象,然后返回新对象

public Dao<ClassA,ClassB> createDao(ClassA param1, ClassB param2) {
    //Do some stuff that creates an object of Dao<param1,param2>
    return Dao<param1,param2>;
 }
public-Dao-createDao(ClassA-param1,ClassB-param2){
//做一些创建Dao对象的工作
返回道;
}
有没有办法解决这个问题

谢谢。

试试这个:

public <A,B> Dao<A,B> createDao(A param1, B param2) {
    return ...
}
公共Dao创建Dao(A参数1,B参数2){
返回。。。
}
试试这个:

public <A,B> Dao<A,B> createDao(A param1, B param2) {
    return ...
}
公共Dao创建Dao(A参数1,B参数2){
返回。。。
}
男人的回答是正确的。 如果您处理的是类对象,那么

public <T, K> Dao<T, K> createDao(final Class<T> t, final Class<K> k) {
    return new Dao<>();
}
公共Dao创建Dao(最终类t,最终类k){
返回新的Dao();
}
男人的回答是正确的。 如果您处理的是类对象,那么

public <T, K> Dao<T, K> createDao(final Class<T> t, final Class<K> k) {
    return new Dao<>();
}
公共Dao创建Dao(最终类t,最终类k){
返回新的Dao();
}

见@Manh的答案。您希望使用类型参数,而不是类实例。其术语是泛型。您可以创建泛型方法以及泛型类。看一看,看@Manh的答案。您希望使用类型参数,而不是类实例。其术语是泛型。您可以创建泛型方法以及泛型类。请看下面的图片。