public void queryArea(long id, List list) {
Apanage obj = apDao.getArea(id);
if (new Long(obj.getPApanage()).equals(new Long(0))) {
list.add(id);
return;
} else {
queryArea(obj.getPApanage(), list);
list.add(id);//这句会执行吗?
System.out.println("----------ID的值为-------"+id);
}
}queryArea(obj.getPApanage(), list);这个是调用本身的方法,都去调用了,程序又转到前面去了,list.add(id);这个还能执行么?实际上我运行了,是可以执行的,不过我是想不明白.
解决方案 »
- 求大神帮我举个简单明白的例子
- 点击“文件”——“打开”或“保存”,出现一个“请选择文件“或”另存为”的框,不选择文件,然后直接关闭,会抛出空指针异常,这个怎么处理??
- 问个简单问题,JAVA SOCKET 如何发送和接收JSON数据
- 35选7的全彩多少钱?这个程序用java怎么编写!
- 请问如何比较Float的大小。。在线等。谢谢
- 如何在linux下使用eclipse?
- 关于JButton的问题
- java 为什么不能在类里定义方法,而在类外实现其方法呢?
- 问一个问题,急!
- 请问java里面还有类似于delphi中的assert的函数呀?
- 类 Config 是公共的,应在名为 Config.java 的文件中声明
- Hibernate与Spring 问题
queryArea(obj.getPApanage(), list)执行完后就会执行接下来的语句。
list.add(id);//这句会执行吗?
list.add(id);
return;
}
作为递归的终止,只要输入数据都能满足最终到达这个终止,就可以继续执行下去,顺利完成。