java不兼容类型编译器错误
我是Java新手,这段代码在编译时给我错误:
import java.util.*; public class Sorts { public List ascendent(List list) { return Collections.sort(list); } public List descendant(List list) { return Collections.sort(list, Collections.reverseOrder()); } public static void main(String[] args) { Sorts sorts = new Sorts(); List list = new ArrayList(); list.addAll(Arrays.asList(1,9,2,8,3,7,4,6,5,5)); System.out.println(sorts.ascendent(list).toString()); } }
错误是从ascendent和descendent方法返回的行:
不兼容的类型
必需:java.util.List(java.lang.Integer)
发现:无效
但在我看来,我正在正确地投射我的ListArray对象,出了什么问题?
Collections.sort
void
,您不能在return
语句中使用它。
此外, Collections.sort
修改原始列表,因此您根本不必返回新列表。
删除return
:
public void ascendent(List list) { Collections.sort(list); } public void descendant(List list) { Collections.sort(list, Collections.reverseOrder()); }
此外,相应地更改您的代码。 这个:
System.out.println(sorts.ascendent(list).toString());
必须更改为:
sorts.ascendent(list); System.out.println(list);
见Collections.sort()
public static … void sort(列表列表)
它不会返回排序列表,只是对列表进行排序。
你需要:
Collections.sort(list); return list;
- Android ACTION_IMAGE_CAPTURE有时不会调用onActivityResult
- Dagger 2:使用@Named获取同一对象的多个实例时出错
- 重置.nextLine()扫描程序
- Java String中的上标
- 改变录音的音高和频率
- java.lang.NoClassDefFoundError:com.google.android.gms.R $ string
- 在一个类中设置一个值并从Java中的另一个类中检索(Android应用程序)
- 如何在Android中关闭其他应用?
- C ++ ifstream.getline()明显慢于Java的BufferedReader.readLine()?