- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的通用类如下所示:
interface X<Input, Output>
{
Output process(Input input);
}
class Y implements X<Integer, Float>
{
Float process(Integer input);
}
我使用 getDeclaredMethods 仅通过名称(故意不使用参数)在 Y 上查找进程。当我查看返回的 Method[] 时,进程出现了两次,Input=Object、Output=Object,然后是实际的实例化类型:Integer 和 Float。
请注意:我可以在 Method[] 中看到 1 个带有 Object、Object 的函数和 1 个带有我用来实例化的实际类型的函数,例如 Integer、Float。因此,我感兴趣的第二个函数可以从 Method[] 访问。
仅获取具有实际类型的方法的最佳方法是什么?
最佳答案
and then with the actual instantiation types.
那是不可能的。您应该会看到一个参数类型为 Object
的方法。也可以查看方法的泛型参数和返回类型,会发现它们都是类型变量(Input
和Output
都是类型变量)。
子类继承自该类并为类型参数使用特定类型参数的子类将具有两种方法:具有更具体参数和返回类型的方法,和一个桥接方法,带有原始类方法的参数和返回类型,以便覆盖它。如果您询问如何忽略桥接方法,只需检查它是否是桥接方法 (.isBridge()
)
关于java - 从 getDeclaredMethods 中查找具有实际类型的泛型方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14144888/
我有一个简单的问题。我想在 getDeclaredMethod() 中获取 String.TYPE 作为 parameterType,但我找不到它。例如,有 Long。 TYPE 用于长数据类型,但对
我想编写一个通过 rpc 进行通信的客户端服务器应用程序。该代码对于不带参数的函数运行得很好。但是,当我尝试使用单个参数调用函数(不支持更多参数)时,它会给我一个“NoSuchMethodExcept
我有两个对象,我可能需要调用方法,但我不知道它属于哪一个。现在,我的基本工作流程是这样的: Method method = null; Target target = null; try {
我有一个私有(private)方法,标题是: private fun setNumericListener(editText: EditText, onValueChanged:(newValue:
我想使用 getDeclaredMethod() 来查找具有此签名的方法: public void foo(String inArg1, Object... inArgs); 使用这个调用: Clas
我使用以下代码来打印类的方法: for (Method meth : c.getDeclaredMethods()) { System.out.println(" " + shorten(met
我看过一些关于 getDeclaredMethod 的 NoSuchMethodException 的帖子,但我仍然无法摆脱这个问题。 我将问题简单化了,有人可以解决这个问题吗: public cla
我正在使用反射,我注意到意想不到的方法。我完全将范围缩小到这几行重现问题的代码: import java.lang.reflect.Method; import java.util.Arrays; c
我对 kotlin 中的“getDeclaredMethod”有疑问。 我有一个类: class WorksheetFreeField : Serializable { @SerializedName
这个问题已经有答案了: Testing private method using power mock which return list of Integers (4 个回答) 已关闭 8 年前。
我的通用类如下所示: interface X { Output process(Input input); } class Y implements X { Float process(I
我正在使用反射从特定类中获取所有方法。 这个类引用了不在我的类路径中的类,所以我得到一个异常: java.lang.NoClassDefFoundError: 关于这个: Method methods
这是 getDeclaredMethods 发生的奇怪行为,这是场景,一个名为 Entity 的类: public class Entity { private Object reference; /
我的代码有一个小问题 我有两个类 public class A { public A foo(int a) {return new A();} } public class B extend
这个问题在这里已经有了答案: getDeclaredMethods() behaving differently in Java 7 vs. Java 8 (2 个答案) 关闭 7 年前。 考虑下一
我的代码有一个小问题 我有两个类(class) public class A { public A foo(int a) {return new A();} } public class B
所以我正在加载类(class)并且效果很好。然后执行 getDeclaredMethods() 并得到一个 NoClassDefFounfError。我能够在方法内部对其进行跟踪,这是在线的内容。 d
public Method[] getDeclaredMethods() throws SecurityException 具有如下文档。 /** * * Returns an a
我在 A 类中有一个方法: class Parameter { ... } class A { private void call(T object, Parameter... paramet
我一直在尝试在 Java 中使用 Reflection,但结果并不理想。这是我的代码: public class ReflectionTest { public static void mai
我是一名优秀的程序员,十分优秀!