日期:2014-05-20  浏览次数:20731 次

为什么FOR中定义返回值显示无效的错误提示?

public NodeList getContent(String XmlTarget, String Condition) {
// TODO Auto-generated method stub

for (int i = 0; i < nodes.getLength(); i++) {
Node result = nodes.item(i);
if (result.getNodeType() == Node.ELEMENT_NODE
&& result.getNodeName().equals(XmlTarget)) {
NodeList ns = result.getChildNodes();
return ns;

} else {

return null;
}
}

}
Java

------解决方案--------------------
如果list的大小是 0 ,那么返回什么?
------解决方案--------------------
按照你的逻辑还需要for循环么?
------解决方案--------------------
你的nodes那来的呀?
------解决方案--------------------
是不是在得到你想要的结果的时候添加一个break,退出循环啊?
------解决方案--------------------
引用:
Quote: 引用:

如果list的大小是 0 ,那么返回什么?

问题在于for一定是有结果的,我是说eclipse会自动提示代码错误,返回值如果要定义在for之外,怎么定义呢?


你list大小为0,都不会进for循环啊,方法就没返回值了
------解决方案--------------------
我写了下面代码,你看一下

package com.meritit.test;

import java.util.ArrayList;
import java.util.List;

public class Test {
public static void main(String[] args) {
System.out.println(check());
}

public static boolean  check(){
List<String> list = new ArrayList<String>();
for (int i = 0; i < list.size(); i++) {
           return true;
        }
return false;
}
}
输出结果false

你应该在for循环之外再加一个return null;
------解决方案--------------------