JAVA类型转换

import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.beanutils.BeanUtils;

public class ClassUtil {
	/**
	 * 将一种类型的List,转换为另外一种类型的List
	 * @param srcList
	 * @param destType
	 * @return
	 */
	public static List<Object> convertBeanList(List<Object> srcList,Class<?> destType)
	{
		List<Object> list=new ArrayList<Object>();
		for(Object obj :srcList)
		{
			Object destObj=convertBean(obj,destType);
			if(destObj!=null)
			{
				list.add(destObj);
			}
		}
		return list;
	}
	/**
	 *将一种类型的对象,转换为另外一种类型的对象,并拷贝里面的同名属性
	 * @param src
	 * @param type
	 * @return
	 */
	public static Object convertBean(Object src,Class<?> type)
	{
		Object desObj=null;
		try
		{
			desObj=type.newInstance();
			copyBean(src,desObj);
		}catch(Exception e)
		{
			Logger.logException(e);
		}
		return desObj;
	}
	/**
	 * 拷贝bean中的同名属性
	 * @param src
	 * @param dest
	 */
	public static void copyBean(Object src,Object dest)
	{
		try
		{
			BeanUtils.copyProperties(dest, src);
		}catch(Exception e)
		{
			Logger.logException(e);
		}
	}
	
	public static Object getPropertyValue(Object src,String property)
	{
		Object result=null;
		try
		{
			Class cls=src.getClass();
			property=property.substring(0,1).toUpperCase()+property.substring(1,property.length());
			Method method=cls.getMethod("get"+property,null);
			
			if(method!=null)
			{
				result=method.invoke(src, null);
			}
			
		}catch(Exception e)
		{
			Logger.logException(e);
		}
		return result;
	}
}

你可能感兴趣的:(java,apache,bean)