如下代码错误的使用了异常判断,此种用法难以调试,并且JVM很难对其进行优化:
public void sayHello(String[] names){ int i=0; try{ while(true) System.out.println(names[i++]);//never do this }catch(ArrayIndexOutOfBoundsException e){ e.printStackTrace(); } }
正确的用法是:
public void sayHello(String[] names){ for(String name:names) System.out.println(name); }
对于状态相关的方法,应提供状态测试方法,以避免使用异常判断。如Iterator的next()是状态相关方法,其状态测试方法是hasNext()。如果没有状态测试方法hasNext(),那么必须使用异常判断,如下:
List<String> list=new ArrayList<String>(); Iterator<String> iterator=list.iterator(); try{ //never do this,use iterator.hasNext() System.out.println(iterator.next()); }catch(NoSuchElementException e){ e.printStackTrace(); }
也可以让状态相关方法返回不同的值表示状态,如返回null表示没有额外的可用值。如果外部调用状态相关方法时没有使用线程同步,那么应使用返回值表示状态,否则应提供状态测试方法。因为在多线程环境下,对象的状态可能在调用状态测试方法后改变。
相关推荐
DM使用图解9.57使用,具体图文描述了如何使用DM工具分区等
DM9.57英文版DM9.57英文版
Keil uVision5 version9.57 含注册机 Keil uVision5 version9.57 含注册机
Autoruns9.57汉化版,本人不负责任何后果
DM中文版 9.57
DM 9.57经典分区工具教材 (文字+图解)
绿色无毒,可以查看偷偷运行的病毒程序,让你大开眼界
JAVA精品新譯<2> DJ Java Decompiler 2.9.9.57老朽痴拙汉化版(JAVA反编译器) 使用DJ Java Decompiler你可以反编译class文件并且可以保存为文本文件或其它格式,它很容易使用。DJ Java Decompiler是Windows 2000,...
DM万用版【一分钟硬盘分区格式化工具】v9.57 真正中文版
你是否有这样的经历:下载某软件使用后系统变得越来越慢,硬盘狂响... 那么我要告诉你,如果是这样,你的电脑就中了木马或病毒了。怎么办?杀毒吧!几个杀毒软件轮番上阵,可惜杀来杀去,木马或病毒又死灰复燃,此时...
Active_Query_Builder_1.7.9.57_for_10.1_Berlin_10.2_Tokyo_Downloadly.ir.rar`
由于管理需要,企业需要使用用友U8全线产品。包括财务、业务、生产制造、成本管理、设备管理等、并启用了管理驾驶仓模块。(2) 产品范围: 财务会计:总账、应收管理、应付管理、固定资产、UFO 管理会计:成本...
在自学单片机时,有时并不能实时的进行实验,我们可以选择在计算机上进行模拟实现,keil就是模拟实现电路时需要的编写代码的软件。
洗油是煤焦油的一个馏分,除作捕收作用外,还有起泡和调整的作用。而目前用洗油作煤泥浮选捕收剂在国内外尚未见报道,采用洗油作为煤泥浮选的捕收剂进行实验...相对仅使用洗油和起泡剂灰分降低了3.05%,产率下降了10.55%。
硬盘分区 分区工具DM 使用图解 压缩文件 好学易用的,适于初学电脑系统的朋友
狗注意到盒子中的人然后从她那里获得奖励所需的时间在以下五个条件中有所不同:所有提示(6.00±0.32 s)和视觉提示(6.02±0.91 s)明显比听觉提示( 18.56±9.57 s),无提示(26.55±11.72 s)。 因此,信息输入...
谷歌地球_9.9_VIP.apk
Keil C51 V5.90a + 注册机
该研究的目的是研究田间条件下,五种植物促生根瘤菌(PGPR)(泛芽孢杆菌;假单胞菌;丁香假单胞菌;丁香假单胞菌和粘质沙雷氏菌)对玉米生长和产量的影响。 。 用10ml细菌悬浮液接种玉米种子。 研究是在完全随机的...
他由DM9.57版本改进升级开发出一个新版本,它的特点是:支持5000G(含 市场主流2000G大硬盘)以上大硬盘分区,分区速度快,软件使用操作虽然是英文版,但操作界面是图形化结构便于识别易懂更加人性化。支持NTSF格式...