Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 类型的arraylist未定义方法_Java_Generics_Arraylist - Fatal编程技术网

Java 类型的arraylist未定义方法

Java 类型的arraylist未定义方法,java,generics,arraylist,Java,Generics,Arraylist,我有一个方法,它以ArrayList作为参数。 song类有不同的方法,如getTitle()、GetExploration()、toString()、toString() 公共类歌曲{ 私有字符串标题; 私有字符串解释; 公共歌曲(字符串标题、字符串解释){ 这个.title=title; 这个。解释=解释; } 公共字符串getTitle(){ 返回标题; } 公共字符串getexploration(){ 返回解释; } 公共字符串toString2(){ 返回标题+“-”+解释; } @凌

我有一个方法,它以ArrayList作为参数。 song类有不同的方法,如getTitle()、GetExploration()、toString()、toString()

公共类歌曲{
私有字符串标题;
私有字符串解释;
公共歌曲(字符串标题、字符串解释){
这个.title=title;
这个。解释=解释;
}
公共字符串getTitle(){
返回标题;
}
公共字符串getexploration(){
返回解释;
}
公共字符串toString2(){
返回标题+“-”+解释;
}
@凌驾
公共整数比较(歌曲其他歌曲){
返回title.compareTignoreCase(otherSong.getTitle());
}
公共字符串toString(){
返回解释+“-”+标题;
}
}

printList方法将歌曲的ArrayList作为参数:

public <Song> void printList(ArrayList<Song> songList,String sortBy){

    JLabel track;

    for(int i=0;i<songList.size();i++){

        if(sortBy=="Artist"){
        track = new JLabel("\n- "+songList.get(i).toString());}

        else if(sortBy=="Song"){
        track = new JLabel("\n- "+songList.get(i).toString2());}

    }
public void打印列表(ArrayList歌曲列表,字符串排序){
JLabel轨道;

对于(int i=0;i您已将方法设置为泛型,并选择将泛型类型命名为Song。它不应为泛型:

public void printList(ArrayList<Song> songList,String sortBy){
public void打印列表(ArrayList歌曲列表,字符串排序){

另外,将字符串与
equals()
,而不是
=

进行比较。您已将方法设置为泛型,并选择将泛型类型命名为Song。它不应为泛型:

public void printList(ArrayList<Song> songList,String sortBy){
public void打印列表(ArrayList歌曲列表,字符串排序){

另外,将字符串与
equals()
,而不是
=

进行比较,为什么要命名方法
toString2()
?嗨,因为toString2()只是toString()的变体,为什么要命名方法
toString2()
?嗨,因为toString2()只是toString()的变体谢谢你的回答,但是当我删除在方法声明中,编译器告诉我“Song无法解析为类型”,你知道为什么吗?谢谢你的回答,但是当我删除方法声明中的“”时,编译器告诉我“Song无法解析为类型”,你知道为什么吗?