当前位置: 首页 > 知识库问答 >
问题:

用于比较的Java布尔类变量

楚天宇
2023-03-14

我有

Boolean condition;

public Boolean isCondition() { return condition; }
if (isCondition())
{
  //...
}

我会把它用于原语,但不确定类。是否需要检查为空?我需要先getBooleanValue()吗?

共有1个答案

訾稳
2023-03-14

是的,您可以使用任何装箱的原语(在您的例子中是boolean)作为原语本身;也就是说,如果您能够保证condition设置为非空值,那么您的示例就可以工作。

这里要注意的是,如果任何装箱的原语本身null,则在解压缩它们时将获得nullpointerexception。如果该值可能为null,那么首先应该重新评估为什么要使用装箱的原语。最好使用未装箱的原语(在本例中是boolean)。

 类似资料:
  • 我有一个布尔方法正在对字符串进行一些错误检查。我有一个int类常量叫“numwords”=8。我将一个字符串传递给布尔方法,在该方法中,我使用.split和.length对字符串进行单词计数。一个名为“words”的int计算字符串中的单词数。完成之后,我要执行一个if语句,比较单词和数字单词。如果它们的数目相等,则返回true,否则为false。我试过==和.等于,但都没用。有什么想法吗? 我试

  • 为什么与有不同的 ? 我正在使用Drools DSL,我必须实现一个规则: 我有这些DSL定义: 要求是以肯定的方式编写可重用的DSL语句,并具有否定它们的能力。

  • 我必须创建一个可选类型的2D并比较其中的值,但我不能。我第一次尝试以这种方式声明: 但是当我启动程序时,它说: 索引超出范围 当Xcode将与值。 因此,我尝试修改代码,并以这种方式声明数组: 但在同一点上,抛出此错误: 二元运算符“==”不能应用于类型为“Bool?”的操作数。类型“(又名”可选。类型')和'布尔'” 此外,在代码的其他地方,我试图将数组的值设置为true/false(),Xco

  • 问题内容: 以这个为例(摘自Java regexchecker不起作用): 是否用于检查的值是否重要? 我知道有这是颇为相似。但是,很明显,这个问题只针对原始对象,而不是对象包装器;因此,将不适用。 另外,应该以不同于其他的方式对待? 问题答案: 从您的评论看来,您正在寻找使用包装器类的“最佳实践” 。但是实际上 并没有 最佳实践,因为使用此类开始是一个坏主意。使用对象包装的唯一原因是在您绝对 必

  • 我正在尝试这个代码编写练习,我太迷路了! 它甚至不编译,但即使它编译了,我肯定它也不会工作。

  • 我有一个问题,比较布尔值的if语句不起作用。最后一个if语句,其中notifFlag==true,如果我将它放在那里,它就不起作用了。日志显示notifFlag设置为true,但if语句未运行。但是,如果删除notifFlag==true,则if语句将运行。 带有标志得日志: 没有标志得日志:

  • 嘿,好吧,所以我在阅读Python的文档,它指出任何空字符串、列表、字典,我想它们都被称为对象(我真的不理解对象的概念:\n如果有人能向我解释,我会很高兴)。无论如何,我的问题是

  • 问题内容: 我声明一个布尔变量。例如, 现在,如果我执行以下代码段: 我懂了。好吧,我知道它很明显,但是我需要知道其背后的原因。 问题答案: 当您评估对象的布尔值时,Java会将其取消装箱(自装箱功能,自1.5开始)。因此,实际的代码是:。然后它抛出。对于任何装箱的值,将空对象拆箱将引发此异常。 在1.5之前,您必须手动将值拆箱:所以它更明显(也更加冗长:)