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