为什么FOR中定义返回值显示无效的错误提示?
Java
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;
}
}
}
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
private static int getNumber()
{
for(int i=0;i<10;i++)
{
return i;
}
return 0;
}
如果list的大小是 0 ,那么返回什么?
问题在于for一定是有结果的,我是说eclipse会自动提示代码错误,返回值如果要定义在for之外,怎么定义呢?
你list大小为0,都不会进for循环啊,方法就没返回值了
麻烦你可以稍微讲的通俗易懂一些吗?
for (int i = 0; i < nodes.getLength(); i++) { // 当你nodes.getLength()=0时,就不会进for循环啊
}
->相当于这样了 for(int i=0;i<0;i++){
System.out.println("是否进入for循环"); // 这里根本就不会进来,也就不会打印.
}
// 你在你方法的最后加个返回值吧 return null;就不会报错了
如果list的大小是 0 ,那么返回什么?
问题在于for一定是有结果的,我是说eclipse会自动提示代码错误,返回值如果要定义在for之外,怎么定义呢?
你list大小为0,都不会进for循环啊,方法就没返回值了
麻烦你可以稍微讲的通俗易懂一些吗?
还需要通俗点?...你for循环要搞明白啊.
for (int i = 0; i < nodes.getLength(); i++) { // 当你nodes.getLength()=0时,就不会进for循环啊
}
->相当于这样了 for(int i=0;i<0;i++){
System.out.println("是否进入for循环"); // 这里根本就不会进来,也就不会打印.
}
// 你在你方法的最后加个返回值吧 return null;就不会报错了
额。当I要是为零的话,我知道是不会进入FOR循环的。但如果不为零的时候这不是ECLIPSE还是会提示出错么。我记得某本书上写的循环当中返回值是无效的,是跟这个有关系吗?还有当返回了NODELIST后,最后再写一条return null,这样在取值的时候不会报错吗?
另外感觉你for循环也有问题..
for (int i = 0; i < nodes.getLength(); i++) {
Node result = nodes.item(i); // 当取第一个时,你下面马上用if-else判断返回值退出方法了,这样第二,第三个Node就根本没有遍历到,也就是说你这for循环毫无意义..
if (result.getNodeType() == Node.ELEMENT_NODE
&& result.getNodeName().equals(XmlTarget)) {
NodeList ns = result.getChildNodes();
return ns;
} else {
return null;
}
}