package cn.fht.business.component.utils;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import java.util.Arrays;
import java.util.List;
/**
* @author: 周前梅
* @date: 2023/4/13 0013
*/
public class CommonUtlis {
/**
* 将传入的集合转化成 字符串的形式
* 例如: [1,2,3,4,5,6] 转化成 &1&2&3&4&5&6&
* 支持各基础类型、包装类类型 的参数信息
* @param obj 入参
* @return 返回信息
*/
public static String getTransStr(List<?> obj){
return "&" + CollUtil.join(obj,"&") + "&" ;
}
/**
* 将传入的字符串 转化集合集合的形式
* 例如: &1&2&3&4&5&6& 转化成 [1,2,3,4,5,6]
* 支持各基础类型、包装类类型 的参数信息
* @param obj 入参
* @param clazz 指定需要返回的类型
* @return 返回信息
*/
public static <T> List<T> getActualInfo(String obj,Class<T> clazz){
if (obj.startsWith("&") && obj.endsWith("&")){
obj = obj.substring(1,obj.length()-1) ;
}
String[] arr = null ;
if (obj.contains("&")) {
arr = obj.split("&") ;
} else {
arr = new String[]{obj} ;
}
if (ObjectUtil.isNull(arr)){
return null ;
}
return JSON.parseObject(JSON.toJSONString(arr),new TypeReference<List<T>>(clazz) {}) ;
}
public static void main(String[] args) {
List<String> s = getActualInfo("&9846584956&",String.class) ;
System.out.println(s );
}
}
集合 与 字符串之间的转化,可指定任意基础类型或 包装类型
于 2023-04-13 14:51:42 首次发布