亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

檢查 ExecutableElement 的返回類型是 Collection 的子類型

檢查 ExecutableElement 的返回類型是 Collection 的子類型

汪汪一只貓 2023-07-13 15:56:00
我有一個ExecutableElement代表吸氣劑的例子,下面是一個例子。public?List<String>?getStrings();允許我獲取返回類型詳細信息的唯一方法是ExecutableElement.getReturnType()。它給了我一個TypeMirror。我找不到任何可以讓我檢查TypeMirror返回是否是Collection的子類型的內容。我可以做什么來驗證這一點?我正在嘗試生成源代碼來調用Collection中的方法之一。
查看完整描述

1 回答

?
千萬里不及你

TA貢獻1784條經驗 獲得超9個贊

你可以看看 org.netbeans.modules.java.hints.jdk.mapreduce.PreconditionsChecker


private boolean isIterbale(ExpressionTree expression) {

? ? TypeMirror tm = workingCopy.getTrees().getTypeMirror(TreePath.getPath(workingCopy.getCompilationUnit(), expression));

? ? if (!Utilities.isValidType(tm)) {

? ? ? ? return false;

? ? }

? ? if (tm.getKind() == TypeKind.ARRAY) {

? ? ? ? return false;

? ? } else {

? ? ? ? tm = workingCopy.getTypes().erasure(tm);

? ? ? ? TypeElement typeEl = workingCopy.getElements().getTypeElement("java.util.Collection");

? ? ? ? if (typeEl != null) {

? ? ? ? ? ? TypeMirror collection = typeEl.asType();

? ? ? ? ? ? collection = workingCopy.getTypes().erasure(collection);

? ? ? ? ? ? if (this.workingCopy.getTypes().isSubtype(tm, collection)) {

? ? ? ? ? ? ? ? return true;

? ? ? ? ? ? }

? ? ? ? }

? ? }


? ? return false;

}

先決條件檢查器


查看完整回答
反對 回復 2023-07-13
  • 1 回答
  • 0 關注
  • 101 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號