Java方法参数类型必须来自包含方法名称的任何类型

Java方法参数类型必须来自包含方法名称的任何类型,java,Java,有没有一种在Java泛型方法中实现的方法 该类型是否为具有特定函数名(不在继承中)的任何类型?如果我正确理解您的问题,那么您似乎试图使用泛型来仅允许实现具有特定名称的方法的类型。在Java中,它们被称为方法,而不是函数 不幸的是,这不可能直接实现。您可以做的最好的事情是创建一个包含所需方法的接口,让包含该方法的类实现它,然后对该特定接口类型使用泛型类型约束: public interface SomeInterface { int doSomething(int x, int y); }

有没有一种在Java泛型方法中实现的方法
该类型是否为具有特定函数名(不在继承中)的任何类型?

如果我正确理解您的问题,那么您似乎试图使用泛型来仅允许实现具有特定名称的方法的类型。在Java中,它们被称为方法,而不是函数

不幸的是,这不可能直接实现。您可以做的最好的事情是创建一个包含所需方法的接口,让包含该方法的类实现它,然后对该特定接口类型使用泛型类型约束:

public interface SomeInterface {
    int doSomething(int x, int y);
}
请注意,这要求整个签名是相同的(不仅是相同的名称,而且是相同的参数和兼容的返回类型)。您的代码将如下所示:

public class GenericClass<T extends SomeInterface> {
公共类GenericClass{
还请注意,只有当您使用的所有类都是您自己创建的时,这才可以完美地工作。如果您也使用其他具有相同方法签名的类,则应该可以创建自己的类来扩展库类并声明为实现接口,并使用该类而不是库类美国


如果您真的需要检查具有相同名称但不具有相同签名的方法,可能还有另一种使用反射的方法。如果您需要,请在注释中告诉我。

类型具有特定的函数名
->它们是从接口或父类获得的吗?如果您想使用泛型返回带有s的类型对于特定的方法,您必须在某个地方(接口/超类)声明它firstFunction name?请解释为什么需要它。欢迎使用它。不幸的是,您不清楚您在问什么。您能给出一个示例说明您在寻找什么吗?不直接,但您可以使用
getClass()在方法中使用筛选器
并抛出一个异常,例如,如果对象不是来自名称中包含字符串的类型。但坦率地说,我不认为这是必要的。我闻到一些可疑的架构选择谢谢大家,我只是想确定如果没有实现接口,是否无法实现,谢谢,我只是想确定是否没有办法它没有实现接口,所以我知道没有。