要和外观模式比较下看比较好

 

定义:将一个类的接口,转换为客户希望的另一接口。适配器让原本接口不相容的类可以合作无间。

 

以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();

}

}

}

posted on 2016-08-30 19:58  反光的小鱼儿  阅读(148)  评论(0编辑  收藏  举报