gpt4 book ai didi

java - boolean 值可以是一个神奇的数字吗

转载 作者:行者123 更新时间:2023-12-02 05:58:32 25 4
gpt4 key购买 nike

我想知道如何处理代码中的 boolean 值。

假设我有一个 Human 类:

   public class Human {

private final static int NEWBORN = 0;

private int age;
private boolean married;

public Human() {
age = NEWBORN;
married = false;
}

...
}

在这种情况下,false 是一个魔数(Magic Number)吗?我应该像年龄那样创建一个常量吗?

如果没有,是否有任何情况我必须处理 boolean 值?

最佳答案

严格来说这个用法是没问题的。 false 对于名为 marriedboolean 来说是一个完全不言自明的值。

您仍然不会经常看到这一点,因为您可能天真地用 boolean 值建模的许多情况实际上涉及的不仅仅是两种状态。

例如,如果您需要以不同的方式处理未婚、离婚和丧偶的人怎么办?突然之间,一个简单的 boolean 值将无法准确表示您的域数据。

当有疑问时,您可以引入一个enum(比如说MaritalStatus),即使它一开始只有两个值。在这里添加额外的枚举值比从 boolean 值完全更改为不同的类型更容易。

使用 enum 的另一个常见原因是,您可以添加一个显式的 UNKNOWN 值,而该值却经常需要(并且避免了令人讨厌的使用 null 表示“未知”)。

关于java - boolean 值可以是一个神奇的数字吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60721935/

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