草庐IT

if-cases

全部标签

java - 在 setter/getter 中创建 if

对Java很陌生,希望在使用setter/getter和使用toString方法创建输出时存储乘客详细信息方面得到一些帮助。我遇到的问题是,假设我正在存储乘客的电话号码并且不希望他们的电话号码包含任何字符,长度为10个数字并以1开头,如果其中之一返回“无效”发生。我尝试在setter中创建if语句,但它没有返回“无效”。这是我目前所拥有的publicclassPassenger{privateStringname;privateStringlocation;privateStringphoneNumber;publicPassenger(Stringname,Stringlocatio

java - 为什么单个 "if"比 "switch"慢?

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:Whatistherelativeperformancedifferenceofif/elseversusswitchstatementinJava?给定以下两种方法:publicstaticintuseSwitch(inti){switch(i){case0:return1;default:return0;}}publicstaticintuseIf(inti){if(i==0)return1;return0;}测试表明switch的执行速度比if版本稍快(在我的机器上每次调用1.4纳秒)。我一直认为,只有在

java - if-else结构

我有这些长语句,我将在这里称为x、y等。我的条件语句的结构是这样的:if(x||y||z||q){if(x)dosomethelseif(y)dosomethingif(z)dosomethingelseif(q)dosomething}elsedosmthing有没有更好、更短的方法来写这个东西?谢谢 最佳答案 我看不出你现在的写法有什么大问题。我确实建议即使对于单个语句ifblock也使用花括号。这将帮助您避免错误,以防您以后必须添加更多代码行(然后可能会忘记添加花括号)。我发现它也更具可读性。代码看起来像这样:if(x||y|

java - 执行者 : How to synchronously wait until all tasks have finished if tasks are created recursively?

我的问题与thisonehere密切相关.正如在那里发布的那样,我希望主线程等到工作队列为空并且所有任务都已完成。然而,我的情况的问题是,每个任务都可能递归地导致提交新任务进行处理。这使得收集所有这些任务的future有点尴尬。我们当前的解决方案使用忙等待循环来等待终止:do{//Waituntilwearedonetheprocessingtry{Thread.sleep(200);}catch(InterruptedExceptione){thrownewRuntimeException(e);}}while(!executor.getQueue().isEmpty()||numT

Java注解处理: how do I know if a round is the last one?

当扩展AbstractProcessor时,有可能覆盖init(...),但是没有“相反”的方法,它会在所有回合均已处理。这是一个问题:当你必须将每一轮收集的信息附加到同一个文件时,你永远无法关闭该文件,因为你永远不知道什么时候最后一轮是。因此,该文件永远不会关闭并保持为空。使用关闭Hook也不起作用,Hook永远不会被调用。有什么想法吗? 最佳答案 Processor.process方法包含类型为RoundEnvironment的参数.也许是RoundEnvironment.processingOver方法可以提供帮助。

java - Switch 似乎比 if 慢

我对switch的速度很好奇,认为它“非常”快,但我有一个测试用例似乎显示单个开关大约快4if测试,当我期望(没有充分理由)它与1次测试一样快时。下面是我写的两个比较switch和if的方法:publicstaticintuseSwitch(inti){switch(i){case1:return2;case2:return3;case3:return4;case4:return5;case5:return6;case6:return7;default:return0;}}publicstaticintuseIf(inti){if(i==1)return2;if(i==2)return

java - 为什么java if语句以分号结尾时会失败

这个问题在这里已经有了答案:Semicolonatendof'if'statement(18个答案)关闭6年前。我在处理应用程序时犯了一个编码错误,这是对空引用的测试。我花了几个小时才发现问题所在,但我不明白为什么代码会这样。Stringname=null;Stringvalue=null;if(name!=null&&value!=null);{System.out.println("Valuesnotnull");}if语句以;结尾,这是我的错误,即使很明显两个值都为空,也打印了Valuesnotnull。谁能解释一下为什么?

java - 我如何在 Java JSP 的 JSTL 中执行 "nested if"?

我想做如下的事情:这可能吗?尝试运行时抛出异常。谢谢。 最佳答案 你需要更像这样:这里显示的冗长是一个很好的例子,说明为什么XML是一种用于实现多级条件语句的糟糕语言。 关于java-我如何在JavaJSP的JSTL中执行"nestedif"?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5447157/

java - 改进 Java 代码 : too many if's

我有几个案例,我只是使用简单的if...ifelseblock。如何减少此代码中if语句的数量?也许我可以使用查找表,但我不确定如何在Java中实现它。privateinttransition(charcurrent,intstate){if(state==0){if(current=='b'){return1;}elsereturn0;}if(state==1){if(current=='a'){return2;}elsereturn0;}if(state==2){if(current=='s'){return3;}elsereturn0;}if(state==3){if(curre

c# - 令人困惑的 If 语句?

我总是使用If语句(在C#中)作为(1.替代);if(IsSuccessed==true){//}我知道没有必要把"==true"写成(2.Alternative));if(IsSuccessed){//}但是,我使用它是因为它更具可读性并且不会导致性能问题。当然,这是我的选择,我知道许多软件开发人员更喜欢第一种选择。什么是最佳用法,为什么? 最佳答案 我不喜欢第一个选项。它不仅是多余的,而且一个简单的错字就会引入一个错误。考虑一下boolb=false;if(b=true){Console.WriteLine("true");}显