输入1000 输出1,000 是字符串类型,三位隔开

输入1000
输出1,000
是字符串类型,三位隔开

    public static void main(String[] args) {
        System.out.println(useCommasToCutString("1234567891234567", 3));
        //1,234,567,891,234,567
    }

    /**
     *
     * @param str 被切割的字符串 1999999
     * @param interval 每几个字符切割一次 3
     * @return 1,999,999
     */
    private static String useCommasToCutString(String str, int interval) {
        return new StringBuilder(new StringBuilder(str).reverse()
                .chars().boxed()
                .collect(ArrayList::new,
                        (lists, integer) -> {
                            if (lists.isEmpty() || lists.get(lists.size() - 1).size() == interval) {
                                final ArrayList<Integer> ls = new ArrayList<>();
                                ls.add(integer);
                                lists.add(ls);
                            } else {
                                lists.get(lists.size() - 1).add(integer);
                            }
                        }, (BiConsumer<List<List<Integer>>, List<List<Integer>>>) (lists, lists2) -> {
                        }).stream().map(s -> s.stream().map(k -> Character.toString((char) (k.intValue())))
                        .collect(Collectors.joining()))
                .collect(Collectors.joining(","))).reverse().toString();
    }