【发布时间】:2019-08-21 16:26:02
【问题描述】:
我已经实现了一个接受任何类型的集合作为输入的方法。有没有更好的解决方案?
我正在使用泛型来解决这个问题;
我的解决方案使用这个作为参数(Collection<T> list)
我不确定是否有更好的选择。有更好的选择吗?,我的解决方案是一个不错的选择吗?
这是我的代码:
public static <T> boolean doTask(Collection<T> list){
if(list == null)
return false;
else if(list.isEmpty()) return false;
/* more code*/
return true;
}
【问题讨论】:
-
为什么项目要实现 Comparable?而且我认为“更多代码”永远不会被执行,也不会编译。
-
完全同意,让我解决它
-
这真的取决于你隐藏在“更多代码”后面的内容。但是代码显然与您的描述不符:并非所有类型都扩展 Comparable,并且您应该接受任何类型的集合。代码似乎也没有在任何地方使用泛型类型 T,那为什么方法是泛型的呢?
-
好吧,我应该像这样使用方法: public static
boolean doTask(Collection list){...} -
不应该是
containsElements(),考虑到它为空时返回false?
标签: java generics collections