草庐IT

Try-finally

全部标签

java - 如何知道哪个变量是 try block 中的罪魁祸首?

在某个tryblock中,我有两个String变量,当我使用Integer.parseInt(string1)和Integer.parseInt(string2)。问题是,如果我catch一个异常,如何知道哪个字符串是麻烦制造者?我需要得到麻烦制造者的变量名。下面是一些示例代码:publicclasstest{publicstaticvoidmain(String[]args){try{Stringstring1="fdsa";Stringstring2="fbbbb";Integer.parseInt(string1);Integer.parseInt(string2);}catch

java - 如何知道哪个变量是 try block 中的罪魁祸首?

在某个tryblock中,我有两个String变量,当我使用Integer.parseInt(string1)和Integer.parseInt(string2)。问题是,如果我catch一个异常,如何知道哪个字符串是麻烦制造者?我需要得到麻烦制造者的变量名。下面是一些示例代码:publicclasstest{publicstaticvoidmain(String[]args){try{Stringstring1="fdsa";Stringstring2="fbbbb";Integer.parseInt(string1);Integer.parseInt(string2);}catch

Java try/catch/finally 获取/关闭资源时的最佳实践

在做一个学校项目时,我编写了以下代码:FileOutputStreamfos;ObjectOutputStreamoos;try{fos=newFileOutputStream(file);oos=newObjectOutputStream(fos);oos.writeObject(shapes);}catch(FileNotFoundExceptionex){//complaintouser}catch(IOExceptionex){//notifyuser}finally{if(oos!=null)oos.close();if(fos!=null)fos.close();}问题是N

Java try/catch/finally 获取/关闭资源时的最佳实践

在做一个学校项目时,我编写了以下代码:FileOutputStreamfos;ObjectOutputStreamoos;try{fos=newFileOutputStream(file);oos=newObjectOutputStream(fos);oos.writeObject(shapes);}catch(FileNotFoundExceptionex){//complaintouser}catch(IOExceptionex){//notifyuser}finally{if(oos!=null)oos.close();if(fos!=null)fos.close();}问题是N

java - 为什么将类定义为 final 会提高 JVM 性能?

引自http://sites.google.com/site/gson/gson-design-document:WhyaremostclassesinGsonmarkedasfinal?WhileGsonprovidesafairlyextensiblearchitecturebyprovidingpluggableserializersanddeserializers,Gsonclasseswerenotspecificallydesignedtobeextensible.Providingnon-finalclasseswouldhaveallowedausertolegitim

java - 为什么将类定义为 final 会提高 JVM 性能?

引自http://sites.google.com/site/gson/gson-design-document:WhyaremostclassesinGsonmarkedasfinal?WhileGsonprovidesafairlyextensiblearchitecturebyprovidingpluggableserializersanddeserializers,Gsonclasseswerenotspecificallydesignedtobeextensible.Providingnon-finalclasseswouldhaveallowedausertolegitim

java - "public static final"对于 Java 接口(interface)中的常量是否是多余的?

这段代码:interfaceConfig{intMAX_CONN=20;}按我的预期编译和工作。看起来和下面的一样:interfaceConfig{publicstaticfinalintMAX_CONN=20;}对于Java接口(interface)中的常量,“publicstaticfinal”是多余的吗?Java1.1、1.2、1.3、1.4、...、1.8是这样吗?还是在Java版本中发生了变化? 最佳答案 在接口(interface)中声明的变量是隐式的publicstaticfinal。这就是JLS9.3说:Everyf

java - "public static final"对于 Java 接口(interface)中的常量是否是多余的?

这段代码:interfaceConfig{intMAX_CONN=20;}按我的预期编译和工作。看起来和下面的一样:interfaceConfig{publicstaticfinalintMAX_CONN=20;}对于Java接口(interface)中的常量,“publicstaticfinal”是多余的吗?Java1.1、1.2、1.3、1.4、...、1.8是这样吗?还是在Java版本中发生了变化? 最佳答案 在接口(interface)中声明的变量是隐式的publicstaticfinal。这就是JLS9.3说:Everyf

java - 如果将 "final"放在变量之前,它会做什么?

非常基本的问题,但是,如果将“final”放在下面的变量之前会做什么......finalEditTextmyTextField=(EditText)findViewById(R.id.myTextField);final是做什么的? 最佳答案 简答停止将“myTextField”变量分配给其他对象。长答案不会阻止“myTextField”变量发生突变,例如将其字段设置为新值。使代码更具可读性(恕我直言),因为读者永远不必怀疑“myTextField”变量是否会在稍后在代码中重新分配。防止意外重新分配变量的错误类别(与使实例不可变的

java - 如果将 "final"放在变量之前,它会做什么?

非常基本的问题,但是,如果将“final”放在下面的变量之前会做什么......finalEditTextmyTextField=(EditText)findViewById(R.id.myTextField);final是做什么的? 最佳答案 简答停止将“myTextField”变量分配给其他对象。长答案不会阻止“myTextField”变量发生突变,例如将其字段设置为新值。使代码更具可读性(恕我直言),因为读者永远不必怀疑“myTextField”变量是否会在稍后在代码中重新分配。防止意外重新分配变量的错误类别(与使实例不可变的