原文:[改善Java代码]小心switch带来的空值异常

使用枚举定义常量时,会伴有大量的switch语句判断,目的是伪类每个枚举项解释其行为,例如: 上面的代码输入 了一个Season类型的枚举,然后使用switch进行匹配,目的是输出每个季节的活动.但是代码是否有问题 doSports null ,似乎会打印出 输出错误 ,因为在switch中没有匹配到指定的值,所以会打印出default的代码块. 运行看结果: switch那一行报出了空指针... ...

2016-07-01 12:49 0 5990 推荐指数:

查看详情

[改善Java代码]不要在构造函数中抛出异常

Java异常机制有三种: 一.Error类以及其子类表示的是错误,它是不需要程序员处理也不能处理的异常.比如VirtualMachineError虚拟机错误,ThreadDeath线程僵尸等. 二.RuntimeException类及其子类表示的是非受检查异常,是系统可能会抛出的异常,程序员 ...

Tue Jun 28 03:04:00 CST 2016 0 14804
编写高质量代码:改善Java程序的151个建议(第8章:异常___建议114~117)

建议114:不要在构造函数中抛出异常   Java异常的机制有三种: Error类及其子类表示的是错误,它是不需要程序员处理也不能处理的异常,比如VirtualMachineError虚拟机错误,ThreadDeath线程僵死等。 RunTimeException类及其子类表示的是非 ...

Fri Oct 14 17:56:00 CST 2016 0 1802
[改善Java代码]Java的泛型是类型擦除的

泛型可以减少强制类型的转换,可规范集合的元素类型,还可以提高代码的安全性和可读性,正是因为有了这些优点,自从Java引入泛型之后,项目的编码规则上便多了一条,优先使用泛型. Java泛型(Generic)的引入加强了参数类型的安全性,减少了类型的转换,它与C++中的模板templates比较类似 ...

Wed Jun 29 01:04:00 CST 2016 0 2046
[改善Java代码]断言绝对不是鸡肋

建议19: 断言绝对不是鸡肋 在防御式编程中经常会用断言(Assertion)对参数和环境做出判断,避免程序因不当的输入或错误的环境而产生逻辑异常,断言在很多语言中都存在,C、C++、Python都有不同的断言表示形式。在Java中的断言使用的是assert关键字,其基本的用法 ...

Thu Apr 21 23:51:00 CST 2016 6 26500
[改善Java代码]慎用动态编译

建议17: 慎用动态编译 //=========这篇博文暂时理解不透......... 动态编译一直是Java的梦想,从Java 6版本它开始支持动态编译了,可以在运行期直接编译.java文件,执行.class,并且能够获得相关的输入输出,甚至还能监听相关的事件。不过,我们最期望的还是给定一段 ...

Fri Apr 22 00:16:00 CST 2016 0 8341
java程序员--小心代码中的内存泄漏

当你从c&c++转到一门具有垃圾回收功能的语言时,程序员的工作就会变得更加容易,因为你用完对象,他们会被自动回收,但是,java程序员真的不需要考虑内存泄露吗? 其实不然 1.举个例子-看你能否找出内存泄漏 1.1原因分析 上述程序并没有明显的错误,但是这段程序有一个内存泄漏 ...

Sun Feb 26 22:08:00 CST 2017 5 9023
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM