Java 我的Comparator类中出现了奇怪的错误,eclipse将其称为语法,但语法似乎正确
我在comparator类中遇到了一个奇怪的语法错误,它将加载歌曲名称并按字典顺序对它们进行排序。语法似乎是正确的,但我不确定发生了什么,因为Eclipse给了我这个错误: 这条线上有多个标记 令牌“”上出现语法错误,应为“” 令牌上出现语法错误,{应为 语法错误,插入}以完成块 语法错误,插入;完成 类主体声明 令牌“”上出现语法错误,应为“” 语法错误,插入;完成类主体声明的步骤 语法错误,插入}以完成块 断点:SongComparator 我还没有尝试过解决这个问题,我真的不知道从哪里开始。来到这里,希望能对这个问题有所了解 这是我的密码:Java 我的Comparator类中出现了奇怪的错误,eclipse将其称为语法,但语法似乎正确,java,comparator,Java,Comparator,我在comparator类中遇到了一个奇怪的语法错误,它将加载歌曲名称并按字典顺序对它们进行排序。语法似乎是正确的,但我不确定发生了什么,因为Eclipse给了我这个错误: 这条线上有多个标记 令牌“”上出现语法错误,应为“” 令牌上出现语法错误,{应为 语法错误,插入}以完成块 语法错误,插入;完成 类主体声明 令牌“”上出现语法错误,应为“” 语法错误,插入;完成类主体声明的步骤 语法错误,插入}以完成块 断点:SongComparator 我还没有尝试过解决这个问题,我真的不知道从哪里开始
package cmsc256;
import bridges.data_src_dependent.Song;
import bridges.connect.DataFormatter;
import java.util.Comparator;
public class SongComparator implements Comparator<Song>(Song o1, Song o2) {
public int compare(Song o1, Song o2) {
Song placeHolder;
if (o1.compareTo(o2) > 1) {
//do nothing
}
else if(o1.compareTo(o2) == 0) {
//do nothing
}
else if (o1.compareTo(o2) < 1) {
o1 = placeHolder;
o1 = o2;
o2 = placeHolder;
}
}
public String getSongsByArtist(String artist) {
return "";
}
}
该错误发生在类声明中,特别是在参数中。括号、开括号和分隔参数的逗号都有下划线。您至少有三个问题: 在比较方法中没有返回任何内容 公共类SongComparator实现ComparatorSong o1,Song o2{应该只是公共类SongComparator实现Comparator{ 您需要先初始化占位符,然后才能将其分配给另一个变量 潜在的:如果Song类通常通过实现Comparable接口来实现compareTo,那么您只能在Song上调用compareTo。但是您可能不需要编写自定义的SongComparator。 以下是一些入门的基本代码:
class SongComparator implements Comparator<Song> {
public int compare(Song o1, Song o2) {
// Implement your comparison logic here
return o1.toString().compareTo(o2.toString());
}
public String getSongsByArtist(String artist) {
return "";
}
}
你没有返回比较法中的任何内容这里需要什么占位符。你想在这里实现什么排序?我最终将通过交换arrayList上的每首歌曲按字母顺序进行排序。这门课是为了一个学校项目,需要使用,但不必这样做。好的,这大部分是当我真的完成了这个方法时就解决了。谢谢你的帮助:我对这个很陌生。