给定一个非常简单的类:
class MyClass {
int id;
double value;
MyClass(int id) {
this.id = id;
}
void setValue(double v) {
value = v;
}
boolean isValueUnassigned() {
return value == 0;
}
}
要检查值
是否尚未赋值,只需执行返回值==0即可
double
是0
?
再加上@Harshal已经说过的话。类似的代码如下所示:
class MyClass {
private int id;
private Double value;
public MyClass(int id) {
this.id = id;
}
public void setValue(double v) {
value = v;
}
public double getValue() {
//Check for null pointer and return
if(value == null)
return <whatever you want>;
return value.doubleValue();;
}
public boolean isValueSet() {
return (value == null ? false : true);
}
}
好的,是原语double
默认设置为0.0
。但是如果你只做返回值==0
您无法确定之前是否有人调用了setValue(0)
,但这也是一个有效的赋值。如果您想100%确定是否有人调用了setValue()
,我建议这样做:
class MyClass {
private int id;
private double value;
private boolean valueSet; // is false by default
public MyClass(int id) {
this.id = id;
}
public void setValue(double v) {
value = v;
valueSet = true;
}
public boolean isValueSet() {
return valueSet;
}
}
您应该使用double的包装器类,即double。对于双数据类型,默认值为null。这样就不会有任何歧义。如果值为null,则不会为其分配任何值。
如何检查字节中的某个位是否被设置?
问题内容: 如何检查是否设置了项目?目前我正在使用 问题答案: 如果该项不存在,则WebStorage规范中的方法显式返回: …如果给定键在与对象关联的列表中不存在,则此方法必须返回null。… 所以你可以:
问题内容: 我需要检查value是否定义为任何东西,包括null。将null值视为undefined并返回。以以下为例: 请注意,这是未定义的。 我需要找到满足以下条件的条件: 有任何想法吗? 问题答案: IIRC,您可以使用此功能:
问题内容: 我试图找到如何检查是否设置了结构属性,但找不到任何方法。 我期待这样的事情,但实际上这是行不通的: 问题答案: 就像dyoo所说的,如果您的struct属性是指针,则可以使用。如果您想将它们保留为字符串,可以与进行比较。这是一个示例: http://play.golang.org/p/YStKFuekeZ
问题内容: 如何检查核心数据对象中是否设置了属性? 我将所有核心数据对象加载到目录中: 我的核心数据NSManagementObject是: formQuestions [indexPath.row] .noticeText //加载: 我的属性“ noticeText”可以为空,因此,当我创建核心数据对象时,可能无法设置某些值。(该属性在核心数据中设置为可选) 当我现在尝试证明是否有值时,它总是
问题内容: 在Python中,有没有一种简单的方法来检查可选参数的值是否来自其默认值,或者是因为用户已在函数调用中显式设置了它? 问题答案: 很多答案都没有完整信息的一部分,因此我想将所有信息与我最喜欢的模式结合在一起。 默认值是一种类型 如果默认值是可变对象,那么您很幸运:您可以利用以下事实:在定义函数时,Python的默认参数将被评估一次(上一节答案末尾的更多信息) 这意味着您可以轻松地使用来