参数处理工具 String to List or Array

it2022-05-05  174

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; } }

最新回复(0)