且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

java数组反射实现动态的判断一个对象是否是数组并且对数组进行拆包输出

更新时间:2021-09-27 01:08:23

public static Map<String, String> maptoMapString(Map<String, ?> map) {
     return map.entrySet().stream().collect(Collectors.toMap(
            (entry) -> {
                return entry.getKey();
            },
            (entry) -> {
                if(entry.getValue().getClass().isArray()) {
                    StringBuilder sb = new StringBuilder();
                    for(int i=0; i<Array.getLength(entry.getValue()); ++i) {
                        Object obj = Array.get(entry.getValue(), i);
                        sb.append(obj.toString()).append(",");
                    }
                    if (sb.length() > 0) {
                        sb.deleteCharAt(sb.length() - 1);
                    }

                    return sb.toString();
                } else {
                    return entry.getValue().toString();
                }
            }
    ));
}