gpt4 book ai didi

java - 指示对象状态的空字符串

转载 作者:行者123 更新时间:2023-12-01 12:40:22 25 4
gpt4 key购买 nike

有时我会遇到这样的代码:

...
private final JButton addButton = new JButton(...);
private String warningMsg = "";

private void update(){
addButton.setEnabled(warningMsg != null && warningMsg.isEmpty());
}
...

如您所见,warningMsg 可能包含一条警告消息。当不需要消息时,它将保存空字符串""/根据此行为,按钮将被启用或禁用。

有两件事困扰着我。首先,如果不需要该字符串,为什么不将 warningMsg 设置为 null 呢?我认为 null 是更好的选择,因为空字符串对我来说仍然是有效的字符串。局外人无法知道他必须检查是否为空,但如果字符串为空,他就可以看到。其次,行为基于字符串的内容,在我看来,这是糟糕的编码。

问题主要是针对第一个问题。您认为空字符串是表示“无”(实际上是特定对象状态)的好选择吗?

最佳答案

The question is mainly about the first issue. Do you consider an empty string a good choice to indicate "nothing", which is infact a specific object state?

空字符串是不显示任何内容的完美选择。您只需将其放入 GUI 中即可,无需每次都对其进行空检查。

但是:显示字符串对于保存对象状态来说是一个糟糕的选择。您应该有某种数据模型来保存是否有警告的状态。这应该是控件“启用”状态的(唯一)来源。这对于你所说的“局外人”来说也更清楚。

boolean DataModel.hasWarning() - 类似的东西......

关于java - 指示对象状态的空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25162138/

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