gpt4 book ai didi

java - 如何类型安全地检查 boolean 值是否相等?

转载 作者:行者123 更新时间:2023-11-29 03:12:37 25 4
gpt4 key购买 nike

public class ComplexObject {
private boolean isA, isB;
}

//custom comparator
public boolean checkComplexObject(ComplexObject o1, ComplexObject o2) {
return o1.getIsA() == o2.getIsB();
}

例如,当我将 ComplexObject 中的数据类型从 boolean 更改为 String 时,比较器不会中断,我也不会注意到将来我会比较字符串而不是 boolean 值,从而得到不同的结果。

问题:如何比较 boolean 属性类型安全,以便在更改字段的数据类型时出现编译错误?

最佳答案

您可以做的一件非常简单的事情就是进行冗余转换:

return (boolean)o1.getIsA() == (boolean)o2.getIsB();

你也可以定义一个只接受boolean的方法:

static boolean booleanEquals(boolean a, boolean b) {
return a == b;
}

然后调用 booleanEquals 而不是使用 ==


顺便说一下,这个程序对我来说似乎有点过于防御了。

关于java - 如何类型安全地检查 boolean 值是否相等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28475870/

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