草庐IT

boolean_scope

全部标签

java - 为什么避免 boolean 实例化是个好主意?

PMD警告我避免boolean实例化(出于效率原因)。我有这样的东西Booleanvariable=newBoolean(somestringIGotRepresentingABoolean);我应该用这个Booleanvariable=Boolean.valueOf(somestringIGotRepresentingABoolean);为什么这样更好? 最佳答案 原因是newBoolean总是返回一个新的实例。由于boolean实例是不可变的,因此拥有超过2个实例是没有意义的。一个为假,一个为真。试试这个,你会看到Boolean

java - Lucene OR 搜索使用 boolean 查询

我有一个包含多个字段的索引,其中一个是字符串字段,我在其中存储产品的类别名称......例如“电子”、“家庭”、“花园”等newStringField("category_name",categoryName,Field.Store.YES));//categoryNameisavaluesuchas"Electronics"我正在执行boolean查询以按名称、价格和类别查找产品,但我不确定如何执行OR搜索以便我可以同时查询两个类别。我当前的查询如下所示:Stringcat="Electronics"TermQuerycatQuery=newTermQuery(newTerm("ca

java - 如何在 if 语句中使用这个 boolean 值?

privateStringgetWhoozitYs(){StringBuffersb=newStringBuffer();booleanstop=generator.nextBoolean();if(stop=true){sb.append("y");getWhoozitYs();}returnsb.toString();}这是我在编程类(class)中进行的项目的一段代码。我遇到的问题是,在声明boolean停止并尝试为其分配一个随机生成的boolean值之后,我不能在if语句中使用它来确定是否应该将更多的y附加到StringBuffer。我在构造函数中确实有随机生成器,所以这部分不

java - 如何使用 Java 制作真正大的 boolean 数组?

当我尝试使用Java创建一个非常大的boolean数组时,例如:boolean[]isPrime1=newboolean[600851475144];我得到了可能的精度损失错误?是不是太大了? 最佳答案 要存储600亿位,您需要绝对最小地址空间75千兆字节!祝你好运!更糟糕的是,Java规范没有指定boolean数组将为每个元素使用一个内存位——它可以(andinsomecasesdoes)使用更多。无论如何,我从ProjectEuler#3中认出了那个数字.如果它需要那么多内存,那你就做错了......

java - 为什么 org.apache.commons.lang.BooleanUtils.isTrue(Boolean bool) 使用三元运算符?

我无缘无故地F3进入这个,并且惊讶地看到这个方法实现如下:publicstaticbooleanisTrue(Booleanbool){if(bool==null){returnfalse;}returnbool.booleanValue()?true:false;}为什么不呢?publicstaticbooleanisTrue(Booleanbool){if(bool==null){returnfalse;}returnbool.booleanValue();}这并不重要,所以我想知道这样做有什么好处吗?可读性是一个足够弱的论据,我认为这是噪音。除非我缺少其他一些好处。

java - 对于 boolean 值,(p ^ q) 和 (p != q) 之间是否存在有用的区别?

Java有两种方法来检查两个boolean值是否不同。您可以将它们与!=或^(xor)进行比较。当然,这两个运算符在所有情况下都会产生相同的结果。尽管如此,将它们都包括在内还是有意义的,例如在What'sthedifferencebetweenXORandNOT-EQUAL-TO?中讨论过的。.对于开发人员来说,根据上下文更喜欢一个甚至是有意义的——有时“这些boolean值中的一个是真的”读起来更好,而其他时候“这两个boolean值是否不同”更好地传达了意图。所以,也许使用哪一个应该是品味和风格的问题。令我吃惊的是javac并没有对它们一视同仁!考虑这个类:classTest{pu

java - 允许比较 `boolean` 和 `Object` 是否相等?

下面的代码publicclassTestComparison{publicstaticvoidmain(String[]args)throwsException{booleanb=true;Objecto=newBoolean(true);System.out.println("comparisonresult:"+(o==b));//Eclipsecomplainsaboutthisexpression}}使用javacV1.7.0_15编译没有错误,运行时打印“false”。但是,EclipseJuno提示“不兼容的操作数类型对象和boolean值”。显然javac自动装箱原始bo

java - JSF CDI : Conversation scope bean[s] best practice

我目前正在学习JSF2.0,我很高兴这个对话范围功能的存在,这对于在同一页面上打开一个新选项卡或一个新窗口并拥有单独的资源非常有帮助,而不是相互覆盖.但我很好奇如何以一种好的方式实现这一点,关于何时开始对话以及何时结束对话。在我的例子中,我有每个JSF页面的每个CDIbean。假设我有一个菜单,当它被点击时,这将导致页面A,并且从A可能导致B,B可能导致C,C可能导致D,所有这4个页面都连接在一个页面上链。可以从B或C或Dbean访问A的bean属性,也可以从C或Dbean访问B的属性等等。现在我很困惑:是否所有这些ABCD应该是是否在对话范围内,或者也许只是一个?因为我觉得有时来自另

Java:高效存储 boolean 值[32]?

在Java中,我想将长度为32的boolean值(boolean[])数组存储(>10'000)到磁盘,稍后再次读取它们以进行进一步计算和比较。由于单个数组的长度为32,我想知道将其存储为整数值以加快读写速度(在32位机器上)是否有意义。您会建议使用BitSet然后转换为int吗?或者甚至忘记int并使用字节? 最佳答案 对于二进制存储,使用int和一个DataOutputStream(DataInputStream用于读取)。我认为boolean数组在Java内部存储为byte或int数组,因此您可能需要考虑避免开销并始终保持in

java - Java 中 boolean 动词的变量和方法命名约定?

这个问题在这里已经有了答案:Javanamingconventionforbooleanvariablenames:writerEnabledvswriterIsEnabled(4个答案)Booleanmethodnamingreadability(13个答案)关闭6年前。我知道很多人建议这个约定:booleandeleted;booleanisDeleted();但是当您想命名一个boolean值来指示用户可以离开时,您会怎么做?booleanuserCanLeavebooleanisUserCanLeave()booleancanUserLeavebooleanisCanUserL