草庐IT

non-final

全部标签

java - Maven和eclipse : a reliable way to add non-Maven or external jars to a project?

Maven很棒。它主要通过在pom配置中指定依赖包的版本来让我远离jar依赖hell,并自动应用它们。它还通过m2e与Eclipse进行了很好的集成,因此可以在IDE中无缝运行。这对于Maven全局已知的依赖项来说非常有用。但是,有时,有些库需要包含在Maven存储库中不可用的项目中。在这种情况下,我通常将它们添加到我项目中的lib/目录中。只要它们在类路径中,就可以编译。但是,问题是在导入项目时自动包含它们。长期以来,我一直在通过半生不熟的修复和黑客攻击来容忍这个问题。每次有人安装这个项目时,我都必须告诉他们手动将lib/中的jars添加到他们的Eclipse构建路径中,以便所有错误

java try finally 阻止关闭流

我想在finallyblock中关闭我的流,但它会抛出一个IOException所以我似乎必须在我的finally中嵌套另一个tryblockblock以关闭流。这是正确的方法吗?好像有点笨重。代码如下:publicvoidread(){try{r=newBufferedReader(newInputStreamReader(address.openStream()));StringinLine;while((inLine=r.readLine())!=null){System.out.println(inLine);}}catch(IOExceptionreadException){

java try finally 阻止关闭流

我想在finallyblock中关闭我的流,但它会抛出一个IOException所以我似乎必须在我的finally中嵌套另一个tryblockblock以关闭流。这是正确的方法吗?好像有点笨重。代码如下:publicvoidread(){try{r=newBufferedReader(newInputStreamReader(address.openStream()));StringinLine;while((inLine=r.readLine())!=null){System.out.println(inLine);}}catch(IOExceptionreadException){

java - 在什么情况下 finally {} block 不会执行?

在Javatry{}...catch{}...finally{}block中,finally{}中的代码通常被认为是“保证”无论try/catch中发生什么,都运行。但是,我知道它至少不会执行的两种情况:如果System.exit(0)被调用;或者,如果异常一直抛出到JVM并且发生默认行为(即,printStackTrace()并退出)是否有任何其他程序行为会阻止finally{}block中的代码执行?代码会在什么特定条件下执行?编辑:正如NullUserException所指出的,第二种情况实际上是不正确的。我认为这是因为标准错误中的文本在标准输出之后打印,防止在不向上滚动的情况下

java - 在什么情况下 finally {} block 不会执行?

在Javatry{}...catch{}...finally{}block中,finally{}中的代码通常被认为是“保证”无论try/catch中发生什么,都运行。但是,我知道它至少不会执行的两种情况:如果System.exit(0)被调用;或者,如果异常一直抛出到JVM并且发生默认行为(即,printStackTrace()并退出)是否有任何其他程序行为会阻止finally{}block中的代码执行?代码会在什么特定条件下执行?编辑:正如NullUserException所指出的,第二种情况实际上是不正确的。我认为这是因为标准错误中的文本在标准输出之后打印,防止在不向上滚动的情况下

java - 资源是在 finally 之前还是之后关闭?

在Java7的try-with-resources中,我不知道finallyblock和自动关闭发生的顺序。顺序是什么?BaseResourceb=newBaseResource();//notauto-closeable;mustbestop'edtry(AdvancedResourcea=newAdvancedResource(b)){}finally{b.stop();//willthishappenbeforeoraftera.close()?} 最佳答案 资源在catch或finally阻塞之前关闭。看到这个tutoria

java - 资源是在 finally 之前还是之后关闭?

在Java7的try-with-resources中,我不知道finallyblock和自动关闭发生的顺序。顺序是什么?BaseResourceb=newBaseResource();//notauto-closeable;mustbestop'edtry(AdvancedResourcea=newAdvancedResource(b)){}finally{b.stop();//willthishappenbeforeoraftera.close()?} 最佳答案 资源在catch或finally阻塞之前关闭。看到这个tutoria

java - java中final局部变量的使用

这个问题在这里已经有了答案:Whywouldonemarklocalvariablesandmethodparametersas"final"inJava?[closed](12个回答)关闭6年前。我想知道使用最终局部变量是否有用。当继承出现时,变量无论如何都不会被覆盖。例如下面的简单代码publicstaticvoidmain(Stringargs[]){finalStringdata="HelloWorld!";System.out.println(data);}这个例子很简单,可能不是相关代码,但问题更笼统。我见过很多代码(所有代码都包含在具有最终局部变量的主函数中)是否有声明局

java - java中final局部变量的使用

这个问题在这里已经有了答案:Whywouldonemarklocalvariablesandmethodparametersas"final"inJava?[closed](12个回答)关闭6年前。我想知道使用最终局部变量是否有用。当继承出现时,变量无论如何都不会被覆盖。例如下面的简单代码publicstaticvoidmain(Stringargs[]){finalStringdata="HelloWorld!";System.out.println(data);}这个例子很简单,可能不是相关代码,但问题更笼统。我见过很多代码(所有代码都包含在具有最终局部变量的主函数中)是否有声明局

Java:catch 的含义(final SomeException e)?

final在下面的Java表达式中做了什么?catch(finalSomeExceptionTypee) 最佳答案 基本意思是:将“SomeExceptionType”捕获到变量“e”中,并promise在处理异常期间我们不会为“e”分配不同的异常。大多数情况下这是矫枉过正,就好像我正在将异常捕获到临时变量名中(e仅对异常处理block有效),我不必如此严格地监管自己,以免自己不相信自己分配同一变量名的不同(可能已创建)异常。也就是说,也许这个block是由一群志同道合的人大量维护的,一个人只是想非常确定e是最初捕获的异常。----