我目前正在学习如何使用 Java 中的列表。我遇到过使用 Collections.sort() 方法对列表中的字符串进行排序,并且效果很好。但是,当我创建用户定义的数据类型时,它不会排序并给出错误 -
“找不到适合 sort(List) 方法的方法 Collections.sort(List,Comparator) 不适用(无法从参数实例化,因为实际和形式参数列表长度不同)方法 Collections.sort(List) 不适用(推断类型不符合推断的声明边界:子边界:可比较)其中 T#1,T#2 是类型-变量:T#1 扩展方法 sort(List,Comparator) 中声明的对象 T#2 扩展方法 sort(List) 中声明的 Comparable"
这是代码 -
代码 -
package works;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Collections;
class Child
{
private String name;
public Child(String name)
{
this.name=name;
}
@Override
public String toString()
{
return name;
}
}
class LOL
{
void Meth()
{
Child s1 = new Child("Hi");
Child s2 = new Child("Bye");
Child s3 = new Child("And");
List<Child> f1 = Arrays.asList(s1,s2,s3);
System.out.println(f1);
System.out.println();
Collections.sort(f1); // This line is the erroneous line.
}
}
public class SortColl
{
public static void main(String X[])
{
LOL l = new LOL();
l.Meth();
}
}