java 对象处理的工具类:处理对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 对象处理的工具类:处理对象相关的知识,希望对你有一定的参考价值。

package com.yihaodian.gds.business.framework.util;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;

import org.apache.commons.lang.StringUtils;

/**
 * @classname: BizUtil
 * @description: 提供公共工具方法
 * @author yanghuatao
 * @date Mar 29, 2013 1:56:13 PM
 */
public final class BizUtil {
	/**
	 * @title: isExistNull
	 * @description: 判断是否存在null
	 * @param args
	 * @return
	 */
	public static boolean isExistNull(Object... args) {
		for (Object arg : args) {
			if (arg == null) {
				return true;
			}
		}
		return false;
	}

	/**
	 * @title: isExistEmpty
	 * @description: 判断是否存在空,String类型包括""
	 * @param args
	 * @return
	 */
	public static boolean isExistEmpty(Object... args) {
		for (Object arg : args) {
			if (arg == null || (arg.getClass().equals(String.class) && StringUtils.isEmpty((String) arg)
					|| (arg instanceof List && ((List) arg).size() <= 0))) {
				return true;
			}
		}
		return false;
	}

	/**
	 * @title: isExistBlank
	 * @description: 判断是否存在空,String类型包括""、" "
	 * @param args
	 * @return
	 */
	public static boolean isExistBlank(Object... args) {
		for (Object arg : args) {
			if (arg == null || (arg.getClass().equals(String.class) && StringUtils.isBlank((String) arg))
					|| (arg instanceof List && ((List) arg).size() <= 0)) {
				return true;
			}
		}
		return false;
	}

	/**
	 * @title: isAllNull
	 * @description: 判断参数是否全部为null
	 * @param args
	 * @return
	 */
	public static boolean isAllNull(Object... args) {
		boolean result = true;
		for (Object arg : args) {
			result = result && (null == arg);
		}
		return result;
	}

	/**
	 * @title: isAllEmpty
	 * @description: 判断是否全部为空,String类型包括""
	 * @param args
	 * @return
	 */
	public static boolean isAllEmpty(Object... args) {
		boolean result = true;
		for (Object arg : args) {
			result = result && (null == arg 
								|| (arg.getClass().equals(String.class) && StringUtils.isEmpty((String) arg))
								|| (arg instanceof List && ((List) arg).size() <= 0));
		}
		return result;
	}

	/**
	 * @title: isAllBlank
	 * @description: 判断是否全部为空,String类型包括""、" "
	 * @param args
	 * @return
	 */
	public static boolean isAllBlank(Object... args) {
		boolean result = true;
		for (Object arg : args) {
			result = result && (null == arg 
								|| (arg.getClass().equals(String.class) && StringUtils.isBlank((String) arg))
								|| (arg instanceof List && ((List) arg).size() <= 0));
		}
		return result;
	}

	/**
	 * @title: mapToList
	 * @description: Map 转 List
	 * @param <K> 泛型 key
	 * @param <V> 泛型 value
	 * @param map
	 * @return
	 */
	public static <K, V> List<V> mapToList(Map<K, V> map) {
		List<V> list = new ArrayList<V>();
		Iterator<Entry<K, V>> iter = map.entrySet().iterator();
		while (iter.hasNext()) {
			Entry<K, V> entry = iter.next();
			list.add(entry.getValue());
		}
		return list;
	}

	/**
	 * @title: genMsg
	 * @description: 生成提示信息
	 * @param msgs
	 * @return
	 */
	public static String genMsg(String... msgs) {
		if (msgs == null || msgs.length == 0) {
			return "";
		}
		StringBuilder sb = new StringBuilder();
		sb.append(" parameters = [");
		for (String msg : msgs) {
			sb.append(msg).append(", ");
		}
		sb.delete(sb.length() - 2, sb.length()).append("]");
		return sb.toString();
	}

	/**
	 * @title: getThrowableStack
	 * @description: 获取异常堆栈信息
	 * @param e
	 * @return
	 */
	public static String getThrowableStack(Throwable e) {
		StringBuilder sb = new StringBuilder(e.toString()).append("\n");
		StackTraceElement[] stackTraceElements = e.getStackTrace();
		for (int index = 0; index < stackTraceElements.length; index++) {
			sb.append("at [" + stackTraceElements[index].getClassName() + ",");
			sb.append(stackTraceElements[index].getFileName() + ",");
			sb.append(stackTraceElements[index].getMethodName() + ",");
			sb.append(stackTraceElements[index].getLineNumber() + "]\n");
		}
		return sb.toString();
	}

	/**
	 * @title: getThrowableStack
	 * @description: 根据length获取异常堆栈信息
	 * @param e
	 * @param length
	 * @return
	 */
	public static String getThrowableStack(Throwable e, int length) {
		String errMsg = getThrowableStack(e);
		return ", detailMessage = [\n" + errMsg.substring(0, errMsg.length() > length ? length : errMsg.length()) + "...]";
	}

	private BizUtil() {
	}
}
	/**
	 * 判断对象是否都为空<br/>
	 * 如果是List要判断是否为空集合<br/>
	 * 如果是Map要判断是否为空集合<br/>	 * 
	 * 如果是String要判断是否为空字符串<br/>
	 * @param args
	 * @return true 表示都为空
	 */
	@SuppressWarnings("unchecked")
	public static boolean isAllEmpty(Object... args) {
		for(Object arg : args) {
			// arg不为null
			if (arg != null) {
				//String类型校验
				if(arg instanceof String) {
					if(StringUtils.isNotBlank((String)arg)) {
						return false;
					}
				}
				//List类型校验
				else if(arg instanceof List) {
					if(((List) arg).size() > 0) {
						return false;
					}
				}
				//Map类型校验
				else if(arg instanceof Map) {
					if (((Map) arg).size() > 0) {
						return false;
					}
				}
				//其他类型
				else {
					return false;
				}
			}
			// arg为null
			else {
				
			}
		}
		return true;
	}

以上是关于java 对象处理的工具类:处理对象的主要内容,如果未能解决你的问题,请参考以下文章

Java控_01原创工具类(001)_深度的对象非null转换工具V1.0

基于Java+HttpClient+TestNG的接口自动化测试框架-------随机函数的处理

map转Bean对象实用工具类(驼峰处理,时间格式等其他类型处理)

java中处理JSON的开源工具都有些啥?那个比较好用

如何将java类对象作为mapreduce中map函数的输入?

201771010113 李婷华《面向对象程序设计(Java)》第十二周总结