java 递归小程序
```
```package sf1;
import java.util.ArrayList;
public class Reursion {
public static void main(String[] args) {
java.util.List<Person> list=new ArrayList<>();
Person p1=new Person("B","A");
Person p2=new Person("C","B");
Person p3=new Person("D","C");
Person p4=new Person("A",null);
list.add(p1);
list.add(p2);
list.add(p3);
list.add(p4);
Person p= findPerson(list,p3);
System.out.println(p.getSelfId());
}
private static Person findPerson(java.util.List<Person> list, Person p) {
if(p.getRefId()==null){
return p;
}
for(int i=0;i<list.size();i++){
if(p.getRefId().equals(list.get(i).getSelfId())){
findPerson(list, list.get(i));
}
}
return p;
}
}
class Person{
private String selfId;
private String refId;
public Person(String selfId, String refId) {
super();
this.selfId = selfId;
this.refId = refId;
}
public Person() {
super();
// TODO Auto-generated constructor stub
}
public String getSelfId() {
return selfId;
}
public void setSelfId(String selfId) {
this.selfId = selfId;
}
public String getRefId() {
return refId;
}
public void setRefId(String refId) {
this.refId = refId;
}
}
问题,已经找到跟节点P4,代码为什么还继续往下执行for循环呢?