存储后使变量不可更改

时间:2015-12-02 00:32:31

标签: java

修改 - 对不起我可能一直不清楚我在问什么,代码可以找到最大值。但是一旦它存储了我将如何设置变量所以如果我想在将来改变它我就不能

4 个答案:

答案 0 :(得分:1)

当您将值初始化为零时,检查它是否为零,如果是,则可以更新。

if (patientId == 0) patientId = IDCount +1;

当然为了使其更加健壮,patientId应该是另一个类中的私有字段,并且设置应该在具有上述逻辑的setter中完成。

另外请注意,如果您只想使用最大值,请考虑使用Math.max

答案 1 :(得分:1)

首先:声明没有初始值的最终变量。 第二:使用临时变量来计算唯一值。 最后:将临时值加载到最终变量中。

如果它是一个实例变量,那么你必须将计算到每个构造函数中。

<强>更新

CreateView

答案 2 :(得分:0)

您可以在某处(可能在PatientInfo类中)创建一个表示当前最大值PatientID静态字段。

然后只需将该数字+ 1分配给新创建的Patient并更改最大值。

答案 3 :(得分:0)

你想要的东西似乎毫无意义。我想你可能只想在指定的属性上实现唯一约束。但如果你真的想要一个&#34;曾经可变的int&#34;,你得到它:

class CustomInt {
   private Integer val;

   public void setVal(int val) throws Exception{
       if(val != null)
          throw new Exception("cannot reassign");
       this.val = val;
   }
}

但正如我所标记的那样,这是毫无意义的。