Effective java 代码优化实例
package chape7;
/**
* 檢查參數的有效性
* 當編寫方法或者構造器時,應該考慮他的參數有什麽限制 應該吧這些限制寫在文檔中,並且在這個方法的開頭處,通過顯示的檢查
* 來實施這些限制。養成這樣的習慣很重要
* 當判斷一個數據的合法性的時候就要拋出異常。 這裡就涉及到異常 第九章 60條:優先使用標準的異常 就是java自帶的異常
* 這也是一種類的重用的表現;
* 常用的异常:
* IllegalArgumentException 非null的参数数值不正确;传入的参数不合法;
* IllegalStateException 对于方法调用而言,对象状态不合法比如摸个对象在被正确的初始化之前就调用 会抛出这个异常
* NullPointerException 空指针异常 在禁止null的情况下使用了null值;
* IndexOutOfBoundsException 下标参数越界
* ConcurrentModificationException 当方法检测到对象的并发修改,但不允许这种修改时,抛出此异常。
* UnsupportedOperationException 当不支持请求的操作时,抛出该异常
* @author lee
*
*/
public class Chape38 {
/**
* @param args
*/
public static void main(String[] args) {
Nuter nu = new Nuter.Builder (200,2).fat(-1).sodium(20).build();
}
}
class Nuter
{
private final int size;
private final int sering;
private final int fat;
private final int sodium;
public static class Builder
{
//这两个参数时必须的参数
private final int size;
private final int sering;
//下面是可选的参数 设置了默认值
private int fat = 0;
private int sodium = 0;
public Builder (int size ,int sering)
{
this.sering = sering;
this.size = size;
}
public Builder fat (int val)
{
/**
* 断言的使用
* 在這裡判
相关文档:
from: http://blog.csdn.net/WOSHISUNXIANGFU/archive/2008/08/25/2828634.aspx
1.介绍
1)DOM(JAXP Crimson解析器)
DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档 ......
设计一个Circle类,其属性为原点(类型为类MyPoint)和半径,并为此类编写以下三个方法:
一、计算圆的面积的calArea()方法;
二、计算周长的calLength()方法;
三、boolean inCircle(MyPoint mp)方法,功能是测试作为参数的某个点是否在当前对象圆内(圆内,包括圆上返回true,在圆外返回false)。
程序:
clas ......
Java第三方library ecosystem是一个很广阔的范畴。不久前有人撰文:每个项目中,你必须知道的11个Java第三方类库。
单元测试
1.DBUnit
DBunit是一个基于junit扩展的数据库测试框架。它提供了大量的类对与数据库相关的操作进行了抽象和封装。
2.MOckito
Mockito是一个针对Java的mocking框架。你可以使用简洁的API编写出 ......
package javatest1014;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
public class ReadExcel{
public static void main(String[] args){
jxl.Workbook workbook=getWorkBook();
......