不用写另外的函数啊,可以直接初始化groupArr的
直接groupArr = new Group[count];
for(int i =0; i < count; i++)
  groupArr[i] = new Group(???);但是你要小心死循环了。

解决方案 »

  1.   

    关键是你的逻辑要清晰啊,要考虑清楚什么时候不应该取继续new那个Group对象
      

  2.   

    应该是不行了.
    class TTT {
       Vector v = new Vector();
       int num = 1;
       public TTT(int num) {
          if(num < 2) {
             this.num = num;
             v.add(this);
             return;
          }
         // TTT(1); // ERROR
          TTT(num-1); // ERROR
       }
    }
      

  3.   

    public class Group
    {
      String strDesc;
      LinkedList listGroup;
      LinkedList listCase;
      
      public Group(){}
      public Gruop(String strDesc)
      {
        this.strDesc = strDesc;
      }  public void addGroup(Group objGroup)
      {
        if (objGroup != this)
          listGroup.add(objGroup);
      }
      public void deleteGroup(Group objGroup)
      {
        listGroup.remove(objGroup);
      }  public void addCase(...){... ...}
      public void deleteCase(...){... ...}  public LinkedList getAllGroup() {... ...}
      或者
      public Group[] getAllGroup()
      {
        return (Group[])listGroup.toArray(new Group[listGroup.size()]);
      }
    }
      

  4.   

    Constructor是不可以recursion的,因为,calling this(..)只能在constructor的第一行。这样就没有办法写recursion的base case.