java - Java 接口继承自其他两个接口 - 是否可以通过使用 Java 反射删除有关其中一个接口的信息?
问题描述
我有这个特定的要求,因为第三方库以某种方式具有 this interface A
which extends B
,which 反过来extends C, D
。
现在,问题是interface C extends D
. IMO,因为C
已经扩展D
,B
应该只extends C
.
当我尝试使用类型对象interface A
在 Vaadin Flow 中绑定表单时,就会出现问题。错误信息是:Duplicate key found for property [this common method]
。
我检查了对象并注意到有以下层次结构:
// myObject:
// reflectionData:
// referent:
// interfaces:
// [0]:
// name: "com.example...." [interface B from above]
// reflectionData:
// referent:
// interfaces:
// [0]:
// name: "com.example..." [interface C from above]
// [1]:
// name: "com.example..." [interface D from above]
我的想法是,在将对象发送到 Vaadin 的类之前,以某种方式通过使用 Java 反射,删除数组 ( interface D
) 的第二个元素(如果可能的话) 。Binder
解决方案
您不能在 Java 中修改反射信息。但实际上,这是 Vaadin 中的一个错误,请提交错误报告。在 Java 中,具有相同名称(和参数)的接口方法不被视为重复 - 它是相同的方法。当 java 编译器怀疑时,它会发出错误。如果您的程序已编译,则它是正确的,并且 Vaadin 必须使用任何正确的程序。
推荐阅读
- binary-tree - 查找具有相同后序和前序的两棵树
- c++ - 函数从唯一代码调用正确的子类方法
- java - JAVA 独立应用程序在调用肥皂网络服务时抛出 java.net.SocketException
- javascript - DialogFlow v2 错误:[ResourceName 错误] 路径 '' 与模板不匹配
- php - Woocommerce:选择日期选择器时如何触发操作
- ruby-on-rails - 为现有数据库记录创建版本
- javascript - .style.color 正在工作,但仍会引发错误
- reactjs - reactjs redux中如何排序和过滤
- sql - 更新json数据PSQL中的值
- javascript - 傀儡师黑色截图