All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.wkit.lost.mybatis.utils.ArrayUtil Maven / Gradle / Ivy

The newest version!
package com.wkit.lost.mybatis.utils;

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;

/**
 * 数组工具类
 */
public class ArrayUtil {
    
    /**
     * 检测对象是否为数组对象
     * @param target 待检测对象
     * @return boolean
     */
    public static boolean isArray( final Object target ) {
        return target != null && target.getClass().isArray();
    }
    
    /**
     * 检测数组对象是否为空
     * @param args 待检测数组对象
     * @param   类型
     * @return boolean
     */
    @SafeVarargs
    public static  boolean isEmpty( final T... args ) {
        return args == null || args.length == 0;
    }
    
    /**
     * 检测数组对象是否为空
     * @param target 待检测数组对象
     * @return boolean
     */
    public static boolean isEmpty( final Object target ) {
        if ( target == null ) {
            return true;
        } else if ( isArray( target ) ) {
            return Array.getLength( target ) == 0;
        }
        throw new IllegalArgumentException( "The argument provided is not an array object" );
    }
    
    /**
     * 获取数组大小
     * @param target 数组对象
     * @return 数组长度
     */
    public static int length( final Object target ) {
        if ( isArray( target ) ) {
            return Array.getLength( target );
        }
        return 0;
    }
    
    /**
     * 数组转集合
     * @param array 数组
     * @param    泛型
     * @return 集合
     */
    @SafeVarargs
    public static  List toList( T... array ) {
        return Optional.ofNullable( array ).map( Arrays::asList ).orElse( new ArrayList<>() );
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy