Java 从静态方法返回泛型类型

Java 从静态方法返回泛型类型,java,generics,static,static-methods,Java,Generics,Static,Static Methods,我有一个静态方法,它应该返回传递的可调用的结果,结果的类不是固定的,也不受限制。所以我不明白我应该如何定义这个静态方法,应该如何调用它? 我的后续问题是什么是更干净的方法,因为使用这种方法,我认为用户应该在调用函数时声明泛型参数 e、 g.我的函数看起来像[我是泛型新手,所以请耐心听我说:): publicstaticv执行(可调用任务){ V结果=工作任务(任务); 返回结果; } 谢谢!不用说,这不是一个家庭作业。工作任务也是静态的吗?您的声明可能应该是公共静态V执行(可调用任务)@GGr

我有一个静态方法,它应该返回传递的可调用的结果,结果的类不是固定的,也不受限制。所以我不明白我应该如何定义这个静态方法,应该如何调用它? 我的后续问题是什么是更干净的方法,因为使用这种方法,我认为用户应该在调用函数时声明泛型参数

e、 g.我的函数看起来像[我是泛型新手,所以请耐心听我说:):

publicstaticv执行(可调用任务){
V结果=工作任务(任务);
返回结果;
}

谢谢!不用说,这不是一个家庭作业。

工作任务也是静态的吗?您的声明可能应该是
公共静态V执行(可调用任务)
@GGrec:这有关系吗?我只是假装在特定的任务上做一些工作。是的,这很重要。不能在静态方法中调用非静态方法。因为这对您来说无关紧要,所以我们假设您正在
execute
方法中或在另一个静态方法中处理任务。我不认为你的解决方案有任何问题,尽管我认为@fge的答案正是你所需要的。是的,明白了,但这仍然遗漏了以下两个问题:1。调用函数时,应该如何调用该函数,以及用户应该如何指定实际类(代替V)?2.更干净的方法是什么?
public static <V> V execute(Callable task) {
        V results = workOnTask(tasks);
        return results;
}