草庐IT

java - 为什么java有很多重复的方法?

我一直在玩Java,因为我打算从C#切换到它以实现跨平台目的。我刚刚注意到它有很多方法可以做同样的事情。我只想知道他们为什么要那样做?举个例子,Boolean类除了构造函数也做同样的事情之外,还有两个方法做同样的事情。Booleanb=newBoolean(true);Booleanb=newBoolean("true");Booleanb=Boolean.parseBoolean(true);Booleanb=Boolean.parseBoolean("true");Booleanb=Boolean.valueOf(true);Booleanb=Boolean.valueOf("tr

java - 检查 boolean 值比在 Java 中设置 boolean 值更快吗?

这个:if(var){var=false;}与此相比:var=false;有速度差异吗? 最佳答案 有几件事会起作用,您需要针对您的用例衡量对实际性能的最终影响。我假设这是您发现经常发生的一种方法:分支预测-如果var几乎始终为假(代码建议如此),则分支预测器几乎总是正确的。如果字段经常变化,那么这将成为一个经常被错误预测的分支,并且代价高昂。读取未命中-如果var主要被读取(并且读取很多),那么避免无故更改可以帮助您的软件,因为它不会使它所在的缓存行无效。如果您写入它,所有其他读取它的核心(以及同一缓存行上的任何内容)都将需要获得

java - 为什么 Java 不允许转换 Boolean -> Int?

我想知道为什么Java不允许从boolean值转换为int,如下所示:booleanfoo=true;intbar=(int)foo;这可以在一行代码中完成,例如,bar=foo?1:0;但似乎更好、更易于阅读的方法是允许类型转换,如double和int。为什么Java不包含此功能? 最佳答案 它不允许这样做,因为Java设计者(正确地)认识到C和C++中的boolean/整数重载是错误的重要来源。(我记得在一些设计原理中看到过,但我找不到。)例如:if(i=0){...}是合法的,但可能是用C或C++编写的应用程序中的错误。Jav

java:循环两个 boolean 值(false,true)

这是一个文体问题。我想用变量on循环两次,该变量设置为false,然后设置为true。以下哪个更清楚:一个)for(finalbooleanon:newboolean[]{false,true}){doStuffBasedOnABooleanFlag(on);}B)for(inti=0;iC)别的东西编辑:墨菲意外解释定律开始发挥作用……我最初看起来像这样的用例而不是doStuffBasedOnABooleanFlag:for(finalbooleanon:newboolean[]{false,true}){JButtonbutton=on?onButton:offButton;but

java - 返回 boolean 值而不是在 Java 中声明 void 类型?

关于在方法签名中返回boolean值以指示操作成功而不是声明无效,是否有任何硬性规定?我发现对于调用方法中更关键的操作,我想知道操作是否已完成,以便记录任何问题。这是对boolean值的“不当”使用吗? 最佳答案 通常我使用Exception来发出错误信号。您可以抛出一个Exception,而不是返回false,并附上有关问题所在的详细消息。返回false不会为您提供有关问题的太多信息。然后,如果您希望该方法返回,则不检查false返回值,只需将方法调用放在try/catch中很容易失败。很多人会提示这种方法比较慢。但是,您获得的好

java - 来自 Boolean 的 NullPointerException

我认为这是为Java纯粹主义者准备的。我最近遇到了一个将字符串值自定义解析为boolean值的方法的问题。一个足够简单的任务,但出于某种原因,下面的方法在null情况下抛出NullPointerException...staticBooleanparseBoolean(Strings){return("1".equals(s)?true:("0".equals(s)?false:null));}该方法的返回类型是boolean值,那么为什么或如何抛出NullPointerException?从调试来看,异常似乎是在嵌套的内联条件语句计算为null并将null返回给外部内联条件语句时抛出

java - 评估复选框 boolean 值

我敢肯定这是一个非常简单的问题,但我就是找不到任何地方的答案。我有一个JCheckbox,我需要评估其boolean值,然后使用if语句更改该值。问题是我在任何地方都找不到用于评估JCheckbox内容的语法,更不用说更改它了。这可能真的很简单,但我似乎找不到任何有用的东西。谢谢! 最佳答案 ThisSO线程可以回答您的问题。如果您的JCheckBox名为“Foo”,您将检查其值Foo.isSelected()要设置它的值,您可以使用Foo.setSelected(true) 关于jav

boolean 变量名称的 Java 命名约定 : writerEnabled vs writerIsEnabled

以下哪些声明符合Java的命名约定?privatebooleanwriterIsEnabled;//withmethodslikepublicbooleangetWriterIsEnabled()publicvoidsetWriterIsEnabled()或privatebooleanwriterEnabled;//withmethodslikepublicbooleangetWriterEnabled()publicvoidsetWriterEnabled()我个人认为名字“writerIsEnabled”更具可读性,尤其是当您在这样的if语句中使用它时-if(writerIsEna

java - 为原始 boolean 类型实现比较器?

我需要一些类implementsComparator,其中一个我想比较原始boolean(不是Boolean)值。如果它是一个Boolean,我会returnboolA.compareTo(boolB);这会返回0、-1或1。但是我该怎么做这与原语? 最佳答案 您可以查看它是如何为java.lang.Boolean实现的,因为该类自然也使用原始boolean值:publicintcompareTo(Booleanb){return(b.value==value?0:(value?1:-1));}从Java7开始,您可以简单地使用内置

java - JAXB 编译器绑定(bind) xs :boolean to Java Boolean wrapper class, 而不是 boolean 原始类型

我正在将一个项目从JAXB1.0迁移到JAXB2.1,但我遇到了数据类型映射问题。我正在使用Antxjc绑定(bind)编译器,并且我已经成功配置了全局绑定(bind),这样(例如)xs:date映射到java.util.日历。但是,我生成的方法返回Boolean,而我想要的是boolean。这是复杂类型:生成的类如下所示:publicclassUsageAuthRateCharge{........publicBooleanisPricepointCustomFieldsRequired(){returnpricepointCustomFieldsRequired;}问题是尽管装箱会