[英]Live Template fore Intellij IDEA for Iterating through Map
我們可以通過按Ctrl + Alt + T輕松遍歷集合,
然后我想創建這樣的模板來遍歷地圖:我將這些行寫入模板文本框:
for (Map.Entry<$ELEMENT_TYPE$> $VAR$ : $SELECTION$.entrySet()) {
$END$
}
現在它正在生成這些代碼:
HashMap<String,Object> map=new HashMap<String,Object>();
for (Map.Entry<Object> objectEntry : map.entrySet()) {
}
Map.Entry<Object>
應該是Map.Entry<String,Object>
。 我找不到正確引入變量的方法。 我怎樣才能做到這一點?
如果您只輸入iter
然后輸入Tab會更容易。
你會得到一個下拉菜單,你可以在那里選擇map.entrySet()
,它會給你:
for (Map.Entry<String, Object> stringObjectEntry : map.entrySet()) {
}
要查看可用的實時模板列表: Ctrl + J
然后Tab 。
從那里您將獲得實時模板列表, iter (對於每個循環)將在列表中。
我寫了這個,它分 1 步工作。 我也喜歡已經有key
和value
,但可以省略:
for (Map.Entry<$KEY_TYPE$, $VALUE_TYPE$> $PAIR$ : $ITERABLE_TYPE$.entrySet()) {
$KEY_TYPE$ key = $PAIR$.getKey();
$VALUE_TYPE$ value = $PAIR$.getValue();
$END$
}
變量:
guessElementType(iterableVariable())
regularExpression(typeOfVariable(ITERABLE_TYPE),"^.*,(.*)>$", "$1")
suggestVariableName()
: suggestVariableName()
variableOfType("java.util.Map")
大量的變量和函數使實時模板成為一個強大的工具。 在VALUE_TYPE,我使用正則表達式來獲得ValueType
出來的Map<KeyType, ValueType>
。 我嘗試了很多“更干凈”的方法,但都沒有奏效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.