草庐IT

Else-block

全部标签

java - 嵌套同步块(synchronized block)

假设我有下一节课:publicclassService{publicvoidtransferMoney(AccountfromAcct,AccounttoAcct,intamount){synchronized(fromAcct){synchronized(toAccount){//couldweusehereonlyonesynchronizedblock?fromAcct.credit(amount);toAccount.debit(amount);}}}}classAccount{privateintamount=0;publicvoidcredit(intsum){amount

java - 为什么遵循控制结构条件的声明需要在 block 中?

尝试编译以下内容时publicclassTest{publicvoidmethod(Stringfoo){//Thiscompilesifthecurlybracesareuncommentedif(fooinstanceofObject)//{Objectbar=(Object)foo;//}}}我得到以下错误javac-Xlint:allTest.javaTest.java:5:error:notastatementObjectbar=foo;^Test.java:5:error:';'expectedObjectbar=foo;^2errors为什么Objectbar=(Obje

java - 将 if-else 修改为策略模式

我在java中有以下if-else分支。if(str.equals("a")){A;}elseif(str.equals("b")){B;}elseif(str.equals("c")){C;}elseif(str.length==5){D;}else{E;}如何将这段代码修改成策略模式? 最佳答案 这里是一个使用工厂的策略模式的例子:publicinterfaceStrategy{publicObject[]execute(Object[]args);}publicclassStrategyFactory{publicenumNa

java - 如何从外部 block 开始在 lambda block 中重新抛出异常?

使用以下代码,voidkey(Key)throwsSomeCheckedException{}voidsupplier(Suppliers)throwsSomeCheckedException{ofNullable(s).ifPresent(s->{//|try{//|key(s.get());//|}catch(finalSomeCheckedExceptionsce){//|//sceiscomingfromkey()method//|//HowcanIthrowsceforoutermethod?//--/}});}我如何抛出sce就像method(supplier)方法抛出它一

java - if-else 不应该有 break 吗?

所以我的教授提到if/if-else语句中的中断是“糟糕的”代码。她到底是什么意思?另外,我如何才能修复我目前编写的代码,因为它确实按照我想要的方式工作,现在我需要摆脱break语句。intsumOne=1;intsumTwo=1;intsumOneTotal=0;intsumTwoTotal=0;while(sumOne>0||sumTwo>0){System.out.print("Enteranumbertoaddtofirstsum:");//Theuserentersinavalueforthefirstsum.sumOne=input.nextInt();/***Weusea

java - lambda 表达式中的 Else 子句

我使用以下lambda表达式迭代PDF文件。publicstaticvoidrun(Stringarg){PathrootDir=Paths.get(arg);PathMatchermatcher=FileSystems.getDefault().getPathMatcher("glob:**.pdf");Files.walk(rootDir).filter(matcher::matches).forEach(Start::modify);}privatestaticvoidmodify(Pathp){System.out.println(p.toString());}这部分.forE

java - Essentials Java GUI 构建 block ? IE。在 Swing 之上形成框架的库

Swing为任何GUI应用程序提供了基本的构建block,但是构建GUI应用程序的更高层次呢?我不是在问那些在各种视觉组件上提供更多奇妙变体的任意库。我说的是每个人在创建除琐碎的GUI应用程序之外的任何东西时最终会自行构建的缺失部分。即特定于应用程序的逻辑构建的框架。例如处理数据绑定(bind)、应用程序生命周期问题或支持构建表单等常见事物。如果我们谈论的是持久性,您可以说任何人都可以使用javax.sql或java.io类编写自己的持久层-然而大多数人更愿意使用Hibernate之类的东西。因此,正如询问持久性库的人可能不是在ObjectOutputStream上寻找变体一样,我也不

java - 多个 'if' 语句和 'if-else-if' 语句对于互斥条件是否相同?

写多个if语句和if-else-if语句有什么区别吗?当我尝试用多个if语句编写程序时,它没有给出预期的结果,但它与if-else-if一起工作。条件是互斥的。 最佳答案 当您编写多个if语句时,可能会有多个if语句被评估为true,因为这些语句彼此独立。当您编写单个ifelse-ifelse-if...else语句时,只能将一个条件评估为真(一旦找到评估为真的第一个条件,将跳过下一个else-if条件).如果每个条件block都跳出包含if语句的block(例如,通过从方法返回或从循环)。例如:publicvoidfoo(intx

java - 为什么对象类有静态 block ?

我只想知道为什么Object、String等在末尾有static{}block。Object类中的staticblock有什么用。打开cmd提示符,输入javapjava.lang.Object 最佳答案 您看到的只是所有方法和字段声明。由于静态block有点像方法,因此您只会看到静态初始化器的空声明。如果您查看OpenJDKsourcecode对于第40行的java.lang.Object,代码实际上是这样说的publicclassObject{privatestaticnativevoidregisterNatives();st

java - 我是否必须在 try-with-resources-block 中关闭已终止的流式查询结果?

这个问题在这里已经有了答案:Doterminaloperationsclosethestream?(2个答案)关闭6年前。在SpringDataJPA文档中它说关于流:AStreampotentiallywrapsunderlyingdatastorespecificresourcesandmustthereforebeclosedafterusage.YoucaneithermanuallyclosetheStreamusingtheclose()methodorbyusingaJava7try-with-resourcesblock.参见:http://docs.spring.io