byte-buddy - 使用 isSubTypeOf 时排除特定子类型
问题描述
我正在尝试使用以下表达式排除接口的特定子类型。CompositeAction 扩展了 Action 接口。还有其他接口扩展了 Action 接口。除了实现 CompositeAction 接口的类之外,我想包括所有子类型的 Action 接口。我尝试使用以下表达式,但不排除它。
isSubTypeOf(Action.class)
.and(not(isSubTypeOf(named(CompositeAction.class.getName()))));
还尝试用 hasSuperType 代替 isSubTypeOf,但效果不佳。可行吗?感谢任何帮助。
解决方案
它应该很简单:
isSubTypeOf(Action.class).and(not(isSubTypeOf(CompositeAction.class)))
作为回报,你会得到一个ElementMatcher
你可以很容易地提供一个类型的东西,这样你就可以正确地对其进行单元测试。
推荐阅读
- javascript - 根据嵌套数组中的值过滤数组
- c++ - 运行时错误:引用绑定到“int”类型的空指针 (stl_iterator.h)
- php - 确定产品属于什么类别并显示图像。- 如何清理这个 PHP 代码?
- android-studio - 有没有办法让颤振小部件违反脚手架填充?
- javascript - 我怎样才能把这个伪代码翻译成 React/javascript?
- c# - 加解密我想要他用来加密的方法
- javascript - 如何使用 JavaScript 中的 id 更新对象的对象?
- java - 数组索引越界异常 -
- python - 使用此功能自动为 commands.group 子命令生成帮助的“帮助”命令
- java - JAVA/API 如何获取正确的 JSON 格式