草庐IT

try-else

全部标签

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

try-with-resources 中的 Java 准备语句不起作用

这个问题在这里已经有了答案:HowshouldIusetry-with-resourceswithJDBC?(5个答案)关闭8年前。昨天,Stack上的多人推荐使用try-with-resources。我现在正在为我的所有数据库操作执行此操作。今天想把Statement改成PreparedStatement,让查询更安全。但是,当我尝试在try-with-resources中使用准备好的语句时,我不断收到诸如“预期标识符”或“;”之类的错误或')'。我做错了什么?或者这不可能吗?这是我的代码:try(Connectionconn=DriverManager.getConnection(

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 - try/finally without catch with return 语句?

这个问题在这里已经有了答案:Multiplereturns:Whichonesetsthefinalreturnvalue?(7个答案)关闭6年前。为什么下面代码的结果是3,为什么finallyget终止并退出方法,即使编译器先检查try,为什么try中的return没有终止方法?publicintreturnVal(){try{return2;}finally{return3;}}

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

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

java - 为什么 Scala Try 不捕获 java.lang.StackOverflowError?

我有一些函数可以(可能)产生StackOverflowError。当然,这是糟糕设计的标志,但现在我决定将其包装到Try中。Try{Calculator.eval(..)}我期望的结果是Failure(java.lang.StackOverflowError)。我得到的结果只是java.lang.StackOverflowError。我想问题是StackOverflowError不是异常,而是错误。如果是,是否有任何方法可以通过使用Try或其他一些monad来“捕获”这些类型的错误? 最佳答案 根据Scala文档。Note:only

java - 没有任何 catch 语句的 Try block

我正在通读一本Java教科书中有关异常和断言的一章,并遇到了我有疑问的这段代码。publicbooleansearchFor(Stringfile,Stringword)throwsStreamException{Streaminput=null;try{input=newStream(file);while(!input.eof())if(input.next().equals(word))returntrue;returnfalse;//notfound}finally{if(input!=null)input.close();}}在下一段中,文本说“searchFor方法声明它抛

java - 使用 try-catch over if 条件以在 java 中以最小的性能影响安全地设置值

在这里,我的主要目标是安全地设置值,而不会对性能(速度、内存、CPU等)产生影响。我有一个愚蠢的选择(风格不佳)也在下面提到。那么,最好的方法是什么?选项1?选项2?还是另一个?选项1:if(animalData!=null&&animalData.getBreedData()!=null&&dogx.getBreed()!=null&&dogx.getBreed().getBreedCode()!=null&&animalData.getBreedData().get(dogx.getBreed().getBreedCode())!=null){dogx.getBreed().set

Java 返回值(在 try/catch 子句中)

大家。我有一个关于java返回值的菜鸟问题。这是我的代码。@OverridepubliclongaddDrugTreatment(longid,Stringdiagnosis,Stringdrug,floatdosage)throwsPatientNotFoundExn{try{Patientpatient=patientDAO.getPatientByDbId(id);longtid=patient.addDrugTreatment(diagnosis,drug,dosage);ConnectiontreatmentConn=treatmentConnFactory.createCo