Java 在eclipse中提取方法似乎不起作用
我尝试在eclipse中执行一个简单的重构提取方法。 我选择下面的代码块,并使用alt+shift+M快捷方式进行提取Java 在eclipse中提取方法似乎不起作用,java,eclipse,refactoring,Java,Eclipse,Refactoring,我尝试在eclipse中执行一个简单的重构提取方法。 我选择下面的代码块,并使用alt+shift+M快捷方式进行提取 Parser parser = Parser.createParser(comment.getText(), "UTF-8"); NodeList htmlAnchorNodes = null; try { htmlAnchorNodes = parser .extractAllNodesThatMatch
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变量
我收到错误消息:
返回值不明确:所选块包含多个
局部变量赋值。受影响的变量包括:
节点式角节点
解析器
整数大小
如何让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();
}