gpt4 book ai didi

关于接口(interface)的java一般问题

转载 作者:搜寻专家 更新时间:2023-11-01 03:57:49 24 4
gpt4 key购买 nike

考虑到我有一个方法可以将列表作为参数传递。在此方法中,我想在该列表上使用例如 ArrayList 特定函数(可以说是 trimToSize())。处理这样的问题的一般方法是什么?这里有两个例子:
第一种方法(我觉得这不好)

private void doSomething(final List<T> list) {
// ... do something
((ArrayList<T>) list).trimToSize();
// ... do something
}

第二种方法(我觉得这个更好)

private void doSomething2(final List<T> list) {
final List<T> myList = new ArrayList<T>();
// Collections.copy(myList, list); or
myList.addAll(list);
((ArrayList<T>) myList).trimToSize();
//..do something
}

我很好奇对于这样的问题最好的解决方案是什么。

最佳答案

好吧,首选的方法是首先编写获取 ArrayList 的方法。如果您需要 ArrayList 特定的功能,则该方法没有采用 List 的业务。将确保参数类型正确的责任转移给调用者,不要在方法内部摆弄它。

关于关于接口(interface)的java一般问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2293063/

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