gpt4 book ai didi

java - 类(class)成员的计算

转载 作者:行者123 更新时间:2023-12-01 18:48:47 24 4
gpt4 key购买 nike

在编码时,我遇到了以下情况:

我有一个类,我们称之为C。它有一个任意类型的属性A,必须首先计算该属性:

public class C {
private int A;

public C(...) {
...
}

public void calculateA() {
A = 42;
}

public int getA() {
}
}

我现在的问题是,如何正确实现 getter getA 。我应该检查 A 是否已定义并否则抛出异常吗?

或者如果未设置,我应该在 getA 中调用 calculateA 吗?

解决此类问题的最佳选择是什么?

<小时/>

编辑:好吧,我给出了一个糟糕的示例。 A 不能在构造函数中计算,因为计算方法会返回同一个类的新实例,这会导致无限递归。

最佳答案

我认为 -

public class C {
private int A = Integer.MIN_VALUE;
...
public int getA() {
if(A==Integer.MIN_VALUE )// Assume Integer.MIN_VALUE when it is not calculated
throw new RuntimeException();
return A;
}
}

这不能是 100% 的证明,因为假设 Integer.MIN_VALUE 无法计算值。

将实例变量A设置为整数对象而不是原始int,这样您就可以设置为null,这样可以更容易地确定状态。

关于java - 类(class)成员的计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16569765/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com