假设我有一个以ExecutableElement
为参数的方法。我知道我可以使用ExecutableElement.getReceiverType
来提取它的类型。现在我想检查此方法的接收器类型是否为String
。即此方法属于String
类。我怎么能这样做?
答案 0 :(得分:0)
使用实用工具类Types
和Elements
。
javax.lang.model.util.Types types; // this two util objects are from your context.
javax.lang.model.util.Elements elements;
TypeMirror stringType = elements.getTypeElement(String.class.getCanonicalName()).asType(); // get string type
types.isSameType(executableElement.getReceiverType(), stringType);
或者您可以简单地比较其名称
executableElement.getReceiverType().toString().equals(String.class.getCanonicalName())
答案 1 :(得分:-1)
使用instanceof
运算符检查某个类是否属于某种类型:
if (ExecutableElement.getReceiverType() instanceof String) {
....
}