gpt4 book ai didi

java - 轻松将元素添加到可变参数列表

转载 作者:行者123 更新时间:2023-11-30 01:54:24 24 4
gpt4 key购买 nike

我有这些签名:

  public static <T, E> AsyncTask<List<T>, E> Parallel(AsyncTask<T,E> t, AsyncTask<T, E>... tasks) {
return cb -> NeoParallel.Parallel(List.of(tasks), cb);
}

public static <T, E> AsyncTask<List<T>, E> Series(AsyncTask<T,E> t, AsyncTask<T, E>... tasks) {
return cb -> NeoSeries.Series(List.of(tasks), cb);
}

如何轻松地将 t 添加到 List.of(tasks) 中?

这不会起作用,因为它创建了一个不可变的列表:

var listOfTasks = Arrays.asList(tasks);
listOfTasks.add(0, t);

有没有一种方法可以轻松创建一个可以添加到的列表,或者在一行中完成它?

由于此调用可能性能不佳:

   listOfTasks.add(0, t);

我正在寻找替代方案

最佳答案

没有简洁的方法来创建列表。也许您最好的选择是创建一个新列表,将数组元素和新元素添加到列表中,然后使用Collections.unmodifyingList返回一个不可修改的列表。

    List<T> newList = new ArrayList<>(tasks.length + 1);
newList.addAll(Arrays.asList(tasks));
newList.add(t);
List<T> unmodifiableList = Collections.unmodifiableList(newList);

关于java - 轻松将元素添加到可变参数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54964093/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com