java - 如何检查 ClassType 是否继承自 JDI 中的 java.util.Collection?
问题描述
我可以获得 a 的所有接口,ClassType
但这allInterfaces()
会导致对调试对象的许多 JDWP 调用很慢。另一种方法是检查这一点:
Collection.class.isAssignableFrom(classType)
但是方法isAssignableFrom()
在java.lang.Class
,所以我必须invokeMethod
像这样调用这个方法:
javaLangClassReference.invokeMethod(threadRef, isAssignableFromMethod,
Arrays.asList(myClassType),
ObjectReference.INVOKE_SINGLE_THREADED);
但是这里有两个问题:
classType
不能用作方法调用的参数,它不是Value
- 如何将
java.util.Collection
作为参数提供给 Method(Arrays.asList(myClassType, ...))
?
另外,有没有更简单的方法来检查给定ClassType
的是否是 a java.util.Collection
?
解决方案
推荐阅读
- java - GSON 不为无效输入抛出错误
- android - Ionic + Capacitor 3 + Android 短暂显示扭曲的启动画面
- swift - 如何在不接触 Swift 中的段的情况下动态更改 UISegmentControl(幻灯片)的索引?
- git - git rebase -i 提交标志?
- ios - 使用 use_frameworks 时的 react-native-maps iOS 构建问题!:linkage => :static
- python - 平均一个 3D 阵列以获得较低的分辨率
- django - 将 djangos object.values dict 转换为本机数据类型?
- c - 在 Motif 中创建选项菜单
- smoothing - Meshlab Laplacian Smooth 引入了尖峰
- python - 有没有办法不用微调就可以使用bert-large作为文本分类工具?