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循环啊,方法就没返回值了
你list大小为0,都不会进for循环啊,方法就没返回值了
麻烦你可以稍微讲的通俗易懂一些吗?
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;
{
for(int i=0;i<10;i++)
{
return i;
}
return 0;
}这段代码如果没有return 0; 这条语句,就会提示错误。(This method must return a result of type int)
对于编辑器来说,可能会默认的从最坏的打算进行计算,也就是无法进入循环的情况。他不会根据实际情况进行判定的。
你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;就不会报错了
你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,这样在取值的时候不会报错吗?
你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,这样在取值的时候不会报错吗?
eclipse只是个编译器,只会从语法角度上来判断是否有错误,并不会智能到知道你nodes具体大小是多少.
当你nodes不为0时,进入for循环后必然是有返回值的,方法最后的return null就不会执行了,这个是给当nodes=0时的返回值.另外感觉你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;
}
}