From a255c52cc00ce0d286a9df72dce45a7191513970 Mon Sep 17 00:00:00 2001 From: lxyer <237809796@qq.com> Date: Mon, 29 Apr 2019 01:08:52 +0800 Subject: [PATCH] . --- src/main/java/net/tccn/base/FileKit.java | 10 +++-- src/main/java/net/tccn/base/Liangs.java | 50 ++++++++++++++++++++++-- src/main/java/net/tccn/base/MetaKit.java | 4 +- 3 files changed, 54 insertions(+), 10 deletions(-) diff --git a/src/main/java/net/tccn/base/FileKit.java b/src/main/java/net/tccn/base/FileKit.java index 4851fcf..97d831b 100644 --- a/src/main/java/net/tccn/base/FileKit.java +++ b/src/main/java/net/tccn/base/FileKit.java @@ -38,11 +38,13 @@ public final class FileKit { /** * 拷贝文件/文件目录 - * @param source - * @param target - * @param linkPath + * @param source 源文件目录 + * @param target 目标目录 */ - public static void copyFiles(File source, File target, String linkPath) { + private static void copyFiles(File source, File target) { + copyFiles(source, target, ""); + } + private static void copyFiles(File source, File target, String linkPath) { if (source.isDirectory()){ final String _linkPath = linkPath + File.separator+ source.getName(); asList(source.listFiles()).forEach(f->{ diff --git a/src/main/java/net/tccn/base/Liangs.java b/src/main/java/net/tccn/base/Liangs.java index df0979f..a97dfd1 100644 --- a/src/main/java/net/tccn/base/Liangs.java +++ b/src/main/java/net/tccn/base/Liangs.java @@ -1,7 +1,7 @@ package net.tccn.base; -import java.util.Objects; -import java.util.Set; +import java.lang.reflect.Array; +import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -10,17 +10,59 @@ import java.util.stream.Stream; */ public class Liangs { - public static Set streamConcat(Stream ... streams) { + /** + * 将集合数组合并到一个Set 集合中 + * @param 泛型 + * @param streams 集合数组 + * @return + */ + public static Stream concat(Stream ... streams) { Stream stream = Stream.empty(); for (int i = 0; i < streams.length; i++) { stream = Stream.concat(stream, streams[i]); } - return stream.collect(Collectors.toSet()); + return stream; } + /** + * 将字符串第一个字母转大写 + * @param str 待转换字符串 + * @return + */ public static String toUpperCaseFirst(String str) { Objects.requireNonNull(str); return str.substring(0, 1).toUpperCase() + str.substring(1); } + /** + * 转化集合为数组,带泛型支持 + * @param values 集合 + * @param 泛型 + * @return + */ + public static T[] toArray(Collection values) { + if (values == null || values.size() == 0) + throw new UnsupportedOperationException("Not supported yet."); + Class clazz = null; + for (T entity : values) { + clazz = entity.getClass(); + break; + } + return values.toArray((T[]) Array.newInstance(clazz, values.size())); + } + + /** + * 转化集合为数组,带泛型支持 + * @param values 集合 + * @param 泛型 + * @return + */ + public static T[] toArray(Stream values) { + if (values == null || values.count() == 0) + throw new UnsupportedOperationException("Not supported yet."); + + List list = values.collect(Collectors.toList()); + return toArray(list); + } + } diff --git a/src/main/java/net/tccn/base/MetaKit.java b/src/main/java/net/tccn/base/MetaKit.java index fc6a566..8d168da 100644 --- a/src/main/java/net/tccn/base/MetaKit.java +++ b/src/main/java/net/tccn/base/MetaKit.java @@ -399,7 +399,7 @@ public final class MetaKit { Set allAlias; if (!all) { - allAlias = Liangs.streamConcat( + allAlias = Liangs.concat( metaService.getFilters().stream().map(f -> { String col = (String) f.getName(); String alias = col.split("[.]")[0]; @@ -408,7 +408,7 @@ public final class MetaKit { metaService.getExports().stream().map(x -> x.get("col").split("[.]")[0]), metaService.getShows().stream().map(x -> x.get("col").split("[.]")[0])/*, todo: xxx metaService.getEdits().stream().map(x -> x.split("[.]")[0])*/ - ); + ).collect(Collectors.toSet()); } else { allAlias = new HashSet<>();