package com.yanzuoguang.util.helper;

import java.util.*;

/**
 * 字符串帮主类
 *
 * @author 颜佐光
 */
public class ArrayHelper {
    /**
     * 合并为数组列表
     *
     * @param from  参数列表
     * @param froms 参数列表
     * @return 第一个非空字符串
     */
    public static <T extends Object> List<T> megerNotEmpty(T from, List<T> froms) {
        List<T> tos = new ArrayList<>();
        if (!StringHelper.isEmpty(from)) {
            tos.add(from);
        }
        if (froms != null) {
            for (T item : froms) {
                if (!StringHelper.isEmpty(item)) {
                    tos.add(item);
                }
            }
        }
        return tos;
    }


    /**
     * 判断对象是否是数组或者List
     *
     * @param val
     * @return
     */
    public static boolean isArrayOrList(Object val) {
        boolean isArray = val != null && (val instanceof List || val.getClass().isArray());
        return isArray;
    }

    /**
     * 获取对象为对象列表
     *
     * @param val 需要获取的对象,可以为List或者Array或者其他对象.
     * @return
     */
    public static List getList(Object val) {
        boolean isArray = isArrayOrList(val);
        List list;
        // 判断处理
        if (val instanceof List) {
            list = (List) val;
        } else if (isArray) {
            Object[] arr = (Object[]) val;
            list = Arrays.asList(arr);
        } else {
            list = new ArrayList();
            list.add(val);
        }
        return list;
    }


}