package com.shebao.sbt.commons.utils;
import com.alibaba.fastjson.util.TypeUtils;
import com.google.common.base.Splitter;
import com.shebao.framework.common.utils.StringUtils;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* 参数处理工具类
*
* @author Neo
*/
public class ParameterUtils {
/**
* 参数转换成数组
*
* @param ids
* @param regex
* @return
*/
public static Integer[] parametersToArray(String ids, String regex) {
if (StringUtils.isBlank(ids)) {
return new Integer[]{};
}
String[] idArray = ids.split(regex);
List<Integer> result = new ArrayList<>();
for (String i : idArray) {
if (StringUtils.isNotBlank(i)) {
result.add(Integer.parseInt(i));
}
}
return result.toArray(new Integer[0]);
}
/**
* 参数转换成数组(默认通过“,”分割)
*
* @param ids
* @return
*/
public static Integer[] parametersToArray(String ids) {
return parametersToArray(ids, ",");
}
/**
* 参数转换成集合
*
* @param ids
* @param regex
* @return
*/
public static List<Integer> parametersToList(String ids, String regex) {
return parametersToList(ids, regex, Integer.class);
}
/**
* 参数转换成集合(默认通过“,”分割)
*
* @param ids
* @return
*/
public static List<Integer> parametersToList(String ids) {
return parametersToList(ids, ",");
}
/**
* 参数转换成集合(默认通过“,”分割)
*
* @param ids
* @return
*/
public static List<Integer> parametersToList(Object ids) {
return parametersToList(TypeUtils.castToString(ids));
}
/**
* 参数转换成集合
*
* @Author: Neo
* @Date: 2019/7/18 17:03
* @Version: 1.0
*/
public static <T> List<T> parametersToList(String ids, Class<T> clazz) {
return parametersToList(ids, ",", clazz);
}
/**
* 参数转换成集合
*
* @param ids
* @param regex
* @param clazz
* @return
*/
public static <T> List<T> parametersToList(String ids, String regex, Class<T> clazz) {
if (StringUtils.isBlank(ids)) {
return Collections.EMPTY_LIST;
}
List<T> result = new ArrayList<>();
List<String> list = Splitter.on(regex).trimResults().omitEmptyStrings().splitToList(ids);
for (String str : list) {
result.add(TypeUtils.cast(str, clazz, null));
}
return result;
}
}
参数处理工具 String to List or Array
最新推荐文章于 2022-06-21 21:34:31 发布