現在、Java でリストを操作する方法を学んでいます。Collections.sort() メソッドを使用してリスト内の文字列をソートすることに遭遇しましたが、それは正常に機能します。ただし、ユーザー定義のデータ型を作成すると、ソートされず、エラーが発生
します。仮引数リストの長さが異なります) メソッド Collections.sort(List) は適用されません (推論された型は、宣言されたバインドに準拠していません。推論: 子のバインド: 比較可能) ここで、T#1、T#2 は変数: T#1 は、メソッド sort(List,Comparator) で宣言された Object を拡張します。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();
}
}