📄 makeiterator.java
字号:
package webwork.util;import java.lang.reflect.Array;import java.util.ArrayList;import java.util.Collection;import java.util.Enumeration;import java.util.Iterator;import java.util.Map;public class MakeIterator { public static Iterator convert(Object value) { Iterator iterator; if(value instanceof Map) { value = ((Map)value).entrySet(); } if(value instanceof Collection) { iterator = ((Collection)value).iterator(); } else if(value.getClass().isArray()) { //need ability to support primitives; therefore, cannot //use Object[] casting. Object a = Array.newInstance(value.getClass().getComponentType(), (Array.getLength(value))); ArrayList list = new ArrayList(Array.getLength(value)); for(int j = 0; j < Array.getLength(value); j++) { list.add(Array.get(value, j)); } iterator = list.iterator(); } else if(value instanceof Enumeration) { Enumeration enum = (Enumeration)value; ArrayList list = new ArrayList(); while(enum.hasMoreElements()) { list.add(enum.nextElement()); } iterator = list.iterator(); } else { iterator = (Iterator)value; } return iterator; } /** * Determine whether a given object can be made into an <code>Iterator</code> * @param object the object to check * @return <code>true</code> if the object can be converted to an iterator and * <code>false</code> otherwise */ public static boolean isIterable(Object object) { if (object == null) { return false; } if (object instanceof Map) { return true; } else if (object instanceof Collection) { return true; } else if(object.getClass().isArray()) { return true; } else if(object instanceof Enumeration) { return true; } else if(object instanceof Iterator) { return true; } else { return false; } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -