[英]Extracting a method in eclipse doesn't seem to work
我嘗試在eclipse中進行簡單的重構(提取方法)。 我選擇以下代碼塊並執行alt + shift + M(提取快捷方式)。
Parser parser = Parser.createParser(comment.getText(), "UTF-8");
NodeList htmlAnchorNodes = null;
try {
htmlAnchorNodes = parser
.extractAllNodesThatMatch(new TagNameFilter("a"));
} catch (ParserException e) {
e.printStackTrace();
}
int size = htmlAnchorNodes.size();
之后只使用size變量。
我收到錯誤消息:
不明確的返回值:所選塊包含多個局部變量賦值。 受影響的變量是:
NodeList htmlAnchorNodes
解析器解析器
int size
如何讓Eclipse識別返回值?
在某些情況下,Eclipse不確定您要返回哪個變量。 如果它會提示您選擇一個,或者根據以后實際使用的值進行分析,那將是理想的,但我在解壓縮方法之前使用大括號來限制臨時值的范圍。
有了你的代碼,我會改變
Parser parser = Parser.createParser(comment.getText(), "UTF-8");
NodeList htmlAnchorNodes = null;
try {
htmlAnchorNodes = parser
.extractAllNodesThatMatch(new TagNameFilter("a"));
} catch (ParserException e) {
e.printStackTrace();
}
int size = htmlAnchorNodes.size();
至
int size;
{
Parser parser = Parser.createParser(comment.getText(), "UTF-8");
NodeList htmlAnchorNodes = null;
try {
htmlAnchorNodes = parser
.extractAllNodesThatMatch(new TagNameFilter("a"));
} catch (ParserException e) {
e.printStackTrace();
}
size = htmlAnchorNodes.size();
}
在大括號范圍之外產生影響的唯一賦值是size
的改變,這應該解決重構工具的模糊性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.