xia*_*huo 3 generics intellij-idea intellij-plugin
我正在开发一个Intellij Idea插件,我想得到一个类的所有字段信息.但我遇到了困难,我无法获得PsiField的泛型类型.如:
private String[] stringsArr;
private List<String> stringList;
private List<BeanLog> beanLogList;
Run Code Online (Sandbox Code Playgroud)
如何从PsiField获取'BeanLog'的PsiClass?
field.getType()返回PsiClassType List<BeanLog>.它fieldType.getParameters()[0]会PsiClassType BeanLog.如果要以通用方式(不仅仅是从List)提取集合组件类型,则可以使用PsiUtil.extractIterableTypeParameter(fieldType, false).要获得PsiClass从PsiClassType,你可以使用type.resolve()或PsiUtil.resolveClassInClassTypeOnly.