Android 集合。排序
Collections.sort(应用程序、新的ResolveInfo.DisplayNameComparator(管理器)); 这是一个排序函数。第一个参数是要排序的数组。 为什么需要第二个参数?第二个参数可以做什么?第二个参数是为了提供自定义函数来比较对象 Collections.sort(应用程序、新的ResolveInfo.DisplayNameComparator(管理器)) 这似乎使用了一个比较器,通过显示名称来比较对象。第二个参数是,您可以提供用于比较对象的自定义函数 Collections.sort(应用程序、新的ResolveInfo.DisplayNameComparator(管理器))Android 集合。排序,android,Android,Collections.sort(应用程序、新的ResolveInfo.DisplayNameComparator(管理器)); 这是一个排序函数。第一个参数是要排序的数组。 为什么需要第二个参数?第二个参数可以做什么?第二个参数是为了提供自定义函数来比较对象 Collections.sort(应用程序、新的ResolveInfo.DisplayNameComparator(管理器)) 这似乎使用了一个比较器,通过显示名称来比较对象。第二个参数是,您可以提供用于比较对象的自定义函数 Collec
这似乎使用了一个比较器,通过显示名称来比较对象。
apps
是一个ResolveInfo
对象列表ResolveInfo
不可比较,这意味着因为它没有实现Compariable
接口,所以没有关于如何比较两个ResolveInfo
对象的“规则”<代码>排序(列表)方法要求列表中的对象具有可比性:
public static <T extends Comparable<? super T>> void sort(List<T> list)
apps
是ResolveInfo
对象的列表ResolveInfo
不可比较,这意味着因为它没有实现Compariable
接口,所以没有关于如何比较两个ResolveInfo
对象的“规则”<代码>排序(列表)方法要求列表中的对象具有可比性:
public static <T extends Comparable<? super T>> void sort(List<T> list)
在进一步提问之前,你应该接受一些答案!在进一步提问之前,你应该接受一些答案!数组应用程序包含名称和图标。所以我想知道为什么我们需要第二个参数?@zhen01.wang:不,“数组应用程序”没有“包含名称和图标”<代码>应用程序是一个
列表
。否则,您的代码将无法编译。@commonware:No,DisplayNameComparator可以是ResolveInfo的静态内部类,因此您无法分辨模板是什么。数组应用程序包含名称和图标。因此我想知道为什么需要第二个参数?@zhen01.wang:不,“数组应用程序”不“包含名称和图标”<代码>应用程序是一个列表
。否则,您的代码将无法编译。@Commonware:否,DisplayNameComparator可以是ResolveInfo的静态内部类,因此您无法判断模板是什么。