makeiterator.java

来自「struts 2 核心包 的源码 有错误是难免的」· Java 代码 · 共 68 行

JAVA
68
字号
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space 
// Source File Name:   MakeIterator.java

package org.apache.struts2.util;

import java.lang.reflect.Array;
import java.util.*;

public class MakeIterator
{

	public MakeIterator()
	{
	}

	public static boolean isIterable(Object object)
	{
		if (object == null)
			return false;
		if (object instanceof Map)
			return true;
		if (object instanceof Collection)
			return true;
		if (object.getClass().isArray())
			return true;
		if (object instanceof Enumeration)
			return true;
		return object instanceof Iterator;
	}

	public static Iterator convert(Object value)
	{
		if (value instanceof Iterator)
			return (Iterator)value;
		if (value instanceof Map)
			value = ((Map)value).entrySet();
		if (value == null)
			return null;
		Iterator iterator;
		if (value instanceof Collection)
			iterator = ((Collection)value).iterator();
		else
		if (value.getClass().isArray())
		{
			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 enumeration = (Enumeration)value;
			ArrayList list = new ArrayList();
			for (; enumeration.hasMoreElements(); list.add(enumeration.nextElement()));
			iterator = list.iterator();
		} else
		{
			List list = new ArrayList(1);
			list.add(value);
			iterator = list.iterator();
		}
		return iterator;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?