《Effective Java读书笔记》--C语言结构的替代

用类来代替enum结构

在要求使用一个枚举类型的环境下,我们首先应该考虑类型安全枚举模式。

// 这是类型安全枚举模式的一个简单实现。
public class Suit {
	private final String name;
	private Suit(String name) {
		this.name = name;
	}
	
	public String toString() {
		return this.name;
	}
	
	public static final Suit CLUBS = new Suit("clubs");
	public static final Suit DIAMONDS = new Suit("diamonds");
	public static final Suit HEARTS = new Suit("hears");
	public static final Suit SPADES = new Suit("spades");
}

用类和接口代替函数指针

在C语言标准库中的qsort,该函数要求一个指向comparator函数的指针作为参数,它用这个函数来比较排序的元素。这种用途实际上是实现了Strategy模式。为了在JAVA中实现这种模式,声明一个接口来表示该策略,并且为每个具体策略声明一个实现了该接口的类。

比较器的实现请参考 http://my.oschina.net/u/1453800/blog/232712 的匿名类这一节。

你可能感兴趣的:(java,读书笔记,effective,编程实践)