草庐IT

if-cases

全部标签

java - 用模式替换 if else 语句

我有一个ifelse语句,它可能会在不久的将来增长。publicvoiddecide(StringsomeCondition){if(someCondition.equals("conditionOne")){//someMethod("someParameter");}elseif(someCondition.equals("conditionTwo")){//someMethod("anotherParameter");}..else{someMethod("elseParameter");}}既然这看起来已经很乱了,我认为如果我可以在这里应用任何设计模式会更好。我研究了策略模式,

java - 使用多行 "if"或 "ands"在 Java 中格式化 "ors"语句的正确方法是什么?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭9年前。社区审核了是否重新打开此问题9个月前并关闭:原始关闭原因未解决Improvethisquestion显然,“if”、“and”和“or”是如此通用的搜索参数,以至于我一生都无法在google上找到答案。根据Java标准,以下哪种格式是正确的?选项1:if(condition1&&condition2&&condition3)...或选项2:if(condition1&&condition2&&condition3)...

java - 什么更好: multiple "if" statements or one "if" with multiple conditions?

对于我的工作,我必须开发一个小型Java应用程序来解析非常大的XML文件(约30万行)以选择非常具体的数据(使用Pattern),所以我正在尝试优化它一点。我想知道这两个片段之间有什么更好的:if(boolean_condition&&matcher.find(string)){...}或if(boolean_condition){if(matcher.find(string)){...}}其他细节:这些if语句在循环内的每次迭代中执行(约20k次迭代)boolean_condition是使用外部函数在每次迭代中计算得到的boolean如果boolean设置为false,我不需要测试正

java - 为什么我得到一个枚举常量引用不能在 case 标签中被限定?

为什么下面的代码编译失败,同时将case语句改为caseENUM1:doSomeStuff();有效吗?publicenumEnumType{ENUM1,ENUM2,ENUM3;voiddoSomeStuff(){switch(this){caseEnumType.ENUM1:doSomeStuff();}}} 最佳答案 这是为了避免与不同枚举类型进行比较的能力。将其限制为one类型是有意义的,即switch语句中枚举值的类型。更新:其实是为了保持二进制兼容性。这是大约一半的引用chapter13.4.9JLS:Onereasonf

java - 哪个更有效: if (null == variable) or if (variable == null)?

这个问题在这里已经有了答案:'...!=null'or'null!=....'bestperformance?(16个答案)关闭6年前.在Java中,哪个会更有效,有什么区别?if(null==variable)或if(variable==null) 最佳答案 (类似于这个问题:Differencebetweennull==objectandobject==null)我会说这两个表达式在性能上绝对没有区别。然而,有趣的是,编译后的字节码(由OpenJDKsjavac发出)在这两种情况下看起来有点不同。对于booleanb=varia

java - 如何让 Eclipse 自动为 IF 语句添加大括号?

在Java中以下是完全有效的:if(x==null)Y();elseZ();我个人一点也不喜欢。我喜欢我所有的IF语句都有大括号:if(x==null){Y();}else{Z();}eclipse格式化程序非常棒,可以通过许多其他方式美化我的代码。有没有办法让它在IF语句中添加大括号? 最佳答案 在“首选项”下:Java>编辑器>保存操作1)勾选“附加操作”2)点击“配置...”3)转到“代码样式”标签4)勾选“在if/while/for/do语句中使用block”并根据您的偏好进行配置

java - 如何将我的 9 个 if 语句压缩为一个

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭4年前。Improvethisquestion我想看看能被所有一位数字整除的最小数字是多少,而不是查找它,我创建了这个。publicstaticvoidmain(String[]args){for(inti=100;i如您所见,我在if语句x9中有一个if语句。该代码有效,但我想使用数组压缩我的if语句以使我的if语句像这样,但它不起作用。if(i%x[1,2,3,4,5,6,7,8]){System.out.println(i);b

Java if 与 try/catch 开销

在Java中使用try/catchblock而不是ifblock是否有任何开销(假设封闭的代码不这样做)?例如,以下两个简单的字符串“安全修剪”方法的实现:publicStringtryTrim(Stringraw){try{returnraw.trim();}catch(Exceptione){}returnnull;}publicStringifTrim(Stringraw){if(raw==null){returnnull;}returnraw.trim();}如果raw输入很少null,这两种方法有什么性能差异?此外,使用tryTrim()是否是一种好的编程模式简化代码布局的方

java - 在java中的switch case中使用字符串

在检查String时,我需要将以下if更改为switch-case,以提高圈复杂度。Stringvalue=somemethodx;if("apple".equals(value)){method1;}if("carrot".equals(value)){method2;}if("mango".equals(value)){method3;}if("orange".equals(value)){method4;}但我不确定我会得到什么值(value)。 最佳答案 Java(版本7之前)不支持在switch/case中使用String

java - 为什么 "else"在 "if x then return"之后很少使用?

这个方法:booleancontainsSmiley(Strings){if(s==null){returnfalse;}else{returns.contains(":)");}}可以等价写成:booleancontainsSmiley(Strings){if(s==null){returnfalse;}returns.contains(":)");}根据我的经验,第二种形式更常见,尤其是在更复杂的方法中(可能有多个这样的退出点),“抛出”和“返回”也是如此。然而,第一种形式可以说使代码的条件结构更加明确。有什么理由比另一个更喜欢一个吗?(相关:Shouldafunctionhave