草庐IT

non-final

全部标签

匿名内部类中的 Java 局部变量可见性 - 为什么需要 'final' 关键字?

我不明白为什么我不能总是从“监听器”或“处理程序”中访问变量。这是我的代码:ButtonbtnDownload=newButton(myparent,SWT.NONE);btnDownload.addSelectionListener(newSelectionAdapter(){@OverridepublicvoidwidgetSelected(SelectionEvente){btnDownload.setEnabled(false);//ICAN'T}});唯一的方法是使用final关键字声明它:finalButtonbtnDownload=newButton(myparent,S

java - :app:dexDebug ExecException finished with non-zero exit value 2

谁能帮我解决以下错误。当我清理项目时,它没有显示任何错误,但每次我尝试运行时都会收到此消息。错误:任务':app:dexDebug'执行失败。com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:Process'command'C:\ProgramFiles\Java\jdk1.8.0_45\bin\java.exe''finishedwithnon-zeroexitvalue2应用程序运行时没有错误,但是当我的系统崩溃并重新启动androidstudio时,我

java - :app:dexDebug ExecException finished with non-zero exit value 2

谁能帮我解决以下错误。当我清理项目时,它没有显示任何错误,但每次我尝试运行时都会收到此消息。错误:任务':app:dexDebug'执行失败。com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:Process'command'C:\ProgramFiles\Java\jdk1.8.0_45\bin\java.exe''finishedwithnon-zeroexitvalue2应用程序运行时没有错误,但是当我的系统崩溃并重新启动androidstudio时,我

java - 在 finally block 中静默关闭 InputStream 而不会丢失原始异常的正确方法是什么?

我想知道下面的代码是否在finallyblock中正确关闭了InputStreamInputStreamis=newFileInputStream("test");try{for(;;){intb=is.read();...}}finally{try{is.close();}catch(IOExceptione){}}如果在is.read()期间发生异常,如果在is.close()期间发生异常,是否会忽略/抑制它? 最佳答案 最好的方法是使用Java7并使用资源尝试,或者手动执行相同的操作并将关闭时的异常添加为抑制的异常。Java7

java - 在 finally block 中静默关闭 InputStream 而不会丢失原始异常的正确方法是什么?

我想知道下面的代码是否在finallyblock中正确关闭了InputStreamInputStreamis=newFileInputStream("test");try{for(;;){intb=is.read();...}}finally{try{is.close();}catch(IOExceptione){}}如果在is.read()期间发生异常,如果在is.close()期间发生异常,是否会忽略/抑制它? 最佳答案 最好的方法是使用Java7并使用资源尝试,或者手动执行相同的操作并将关闭时的异常添加为抑制的异常。Java7

java - 测试 final 字段的初始化安全性

我正在尝试简单地测试JLS所保证的最终字段的初始化安全性。这是为了我正在写的一篇论文。但是,根据我当前的代码,我无法让它“失败”。谁能告诉我我做错了什么,或者如果这只是我必须一遍又一遍地运行然后看到一些不幸的时机失败?这是我的代码:publicclassTestClass{finalintx;inty;staticTestClassf;publicTestClass(){x=3;y=4;}staticvoidwriter(){TestClass.f=newTestClass();}staticvoidreader(){if(TestClass.f!=null){inti=TestCla

java - 测试 final 字段的初始化安全性

我正在尝试简单地测试JLS所保证的最终字段的初始化安全性。这是为了我正在写的一篇论文。但是,根据我当前的代码,我无法让它“失败”。谁能告诉我我做错了什么,或者如果这只是我必须一遍又一遍地运行然后看到一些不幸的时机失败?这是我的代码:publicclassTestClass{finalintx;inty;staticTestClassf;publicTestClass(){x=3;y=4;}staticvoidwriter(){TestClass.f=newTestClass();}staticvoidreader(){if(TestClass.f!=null){inti=TestCla

java - "/* (non-javadoc)"有很好理解的含义吗?

除了向源代码的读者指出注释block故意不是Javadoc注释之外,/*(non-javadoc)是否有意义?最近看到很多这样的代码:/**(non-javadoc)**Thismethodconvertswidgetstogizmos*/publicFoobar(){...这是某种既定的惯例吗?如果是这样,它是什么意思(超出明显的字面意思)以及何时使用? 最佳答案 根据infoIcouldfind,这是为了修复JavaDoc工具的旧版本(或更可能是Eclipse处理JavaDoc注释的旧版本)中的一个错误,该错误不会显示覆盖父类方

java - "/* (non-javadoc)"有很好理解的含义吗?

除了向源代码的读者指出注释block故意不是Javadoc注释之外,/*(non-javadoc)是否有意义?最近看到很多这样的代码:/**(non-javadoc)**Thismethodconvertswidgetstogizmos*/publicFoobar(){...这是某种既定的惯例吗?如果是这样,它是什么意思(超出明显的字面意思)以及何时使用? 最佳答案 根据infoIcouldfind,这是为了修复JavaDoc工具的旧版本(或更可能是Eclipse处理JavaDoc注释的旧版本)中的一个错误,该错误不会显示覆盖父类方

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构建路径中,以便所有错误