有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

定义一个java类,并将该类的元素数组作为其字段之一,有什么问题吗?

我的应用模型由疾病组成,每个疾病都有固有属性(id、名称、发病率等)以及与其他疾病的关系(例如风险因素、诱发疾病、发现)。我考虑了以下两个对象模型:

第一个:嵌套类:

class DiagnosticElement{
      Disorder disorder;
      List<Disorder> relatedDisorders;

      static class Disorder {
          int id;
          String name;
          double incidence;
          Disorder(id){
              this.id=id;
          }

    }
}

第二点:

class Disorder {
        int id;
        String name;
        double incidence;
        List<Disorder> relatedDisorders;

        Disorder(id){
            this.id=id;
            this.relatedDisorders=new ArrayList<Disorder>()
        }

    }

第二种方法似乎更简单。当然,我必须先实例化无序对象,然后才能在ArrayList中引用它们。一种方法比另一种好吗


共 (2) 个答案

  1. # 1 楼答案

    第二种方法没有什么错,事实上它经常被使用。例如,可以考虑树或链接列表,其中节点拥有指向其他节点的链接。如果在构造函数中创建相同类型的对象,则必须小心,因为这可能导致代码永远运行

  2. # 2 楼答案

    小心,你的线

    List<Disorder> relatedDisorders=new ArrayList<Disorder>()
    

    在中,构造函数将创建一个局部变量relatedDisorders,您将对其进行初始化。您没有初始化类字段

    无论如何,在类中引用自己的类没有什么错。这就是每个链表的工作原理