设计模式课程 设计模式精讲 19-3 策略模式源码解析
Posted 1446358788-qq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式课程 设计模式精讲 19-3 策略模式源码解析相关的知识,希望对你有一定的参考价值。
1 源码解析
1.1 源码解析1(jdk中的应用1)
1.2 源码解析2(jdk中的应用2)
1.3 源码解析3(Spring中的应用1)
1.4 源码解析4(Spring中的应用2)
1 源码解析
1.1 源码解析1(jdk中的应用1)
java.util.Comparator(策略类)作为比较器的应用
package java.util; public interface Comparator<T> { int compare(T o1, T o2); boolean equals(Object obj); }
java.util.ArrayList(策略类应用)
package java.util; import java.lang.reflect.*; public class Arrays { public static <T> void sort(T[] a, Comparator<? super T> c) { if (LegacyMergeSort.userRequested) legacyMergeSort(a, c); else TimSort.sort(a, c); } }
1.2 源码解析2(jdk中的应用2)
java.util.Comparator(策略类)作为比较器的应用
package java.util;
public interface Comparator<T> {
int compare(T o1, T o2);
boolean equals(Object obj);
}
java.util.TreeMap(策略类应用)
public class TreeMap<K,V> extends AbstractMap<K,V> implements NavigableMap<K,V>, Cloneable, java.io.Serializable { /** * The comparator used to maintain order in this tree map, or * null if it uses the natural ordering of its keys. * * @serial */ private final Comparator<? super K> comparator; final int compare(Object k1, Object k2) { return comparator==null ? ((Comparable<? super K>)k1).compareTo((K)k2) : comparator.compare((K)k1, (K)k2); } }
以上是关于设计模式课程 设计模式精讲 19-3 策略模式源码解析的主要内容,如果未能解决你的问题,请参考以下文章