要和外观模式比较下看比较好
定义:将一个类的接口,转换为客户希望的另一接口。适配器让原本接口不相容的类可以合作无间。
以java源码中的枚举器到迭代器的适配为例。
package com.tc.adapter;
import java.util.Enumeration;
import java.util.Iterator;
/**
* 适配器模式
*/
public class EnumerationIteartor<T> implements Iterator<T> {
private Enumeration<T> enums;
public EnumerationIteartor(Enumeration<T> enums) {
this.enums = enums;
}
@Override
public boolean hasNext() {
return enums.hasMoreElements();
}
@Override
public T next() {
return enums.nextElement();
}
public void remove() {
throw new UnsupportedOperationException();
}
}
package com.tc.adapter;
import java.util.Enumeration;
import java.util.Hashtable;
public class Test {
public static void main(String[] args) {
Hashtable<String, String> hashTable = new Hashtable<String, String>();
hashTable.put("a", "AAA");
hashTable.put("b", "BBB");
hashTable.put("c", "CCC");
hashTable.put("d", "DDD");
Enumeration<String> enumeration = hashTable.elements();
EnumerationIteartor<String> adapter = new EnumerationIteartor<>(enumeration);
while (adapter.hasNext()) {
String enumx = adapter.next();
System.out.println(enumx);
adapter.remove();
}
}
}