执檀月夜游 2022-12-02 16:21 采纳率: 50%
浏览 17

Java 自定义泛型方法

我有如下一个方法,问:如何将该方法改成泛型方法,接收任意类型的入参,并返回对应类型的出参,就是将方法入参中指定的 IlsGoods 类替换成任意类型

    /**
     * 拆分集合
     *
     * @param ilsGoodsList    目标集合
     * @param sonSize         子集合大小
     * @return
     */
    private List<List<IlsGoods>> splitSet(List<IlsGoods> ilsGoodsList, int sonSize) {
        //分割的份数
        final int copies = (ilsGoodsList.size() + sonSize - 1) / sonSize;
        //映射分割
        List<List<IlsGoods>> sonListTwo = IntStream.range(0, copies)
                .boxed()
                .parallel()
                .map(i -> {
                    int fromIndex = i * sonSize;
                    int toIndex = sonSize;
                    if (i + 1 == ilsGoodsList.size()) {
                        toIndex = ilsGoodsList.size() - fromIndex;
                    }
                    return ilsGoodsList.stream().skip(fromIndex).limit(toIndex).collect(Collectors.toList());
                }).collect(Collectors.toList());
        return sonListTwo;
    }

  • 写回答

3条回答 默认 最新

  • 於黾 2022-12-02 16:30
    关注

    你如果确定要处理的逻辑只和list相关,和里面存什么不相关(不调用内部存储的对象的方法)
    那你可以写List<List<T>>,或者写List<ArrayList>

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 12月2日

悬赏问题

  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端