知识点:
1.类层次优于标签类。
2.函数对象表示策略。
1.类层次优于标签类。
这节简单的总结一下,这一节的标签类并没有很好的利用Java面向对象的理念,把过多的东西放在一个类里面。利用类层次来优化标签类,代码可读性更强。算是一种重构代码的方式,当我们看到这种标签类的时候,就应该想到类层次优化。
2.函数对象表示策略。
这节我简单的总结一下,看下面代码,Comparator是一个策略接口,用来比大小的,Array.sort利用匿名内部类来使用这种策略。但每次比较会创建一个对象,如果重复使用可以用私有的静态成员类来避免重复创建对象。关于策略模式,我会在【设计模式 - 策略模式】详细讲解。
public interface Comparator<T> {
public int compare(T t1, T t2);
}
Arrays.sort(stringArray, new Comparator<String>() {
public int compare(String s1, String s2) {
return s1.length() - s2.length;
}
}) ;