如何使用Arrays.sort对Java中的多态对象进行排序

如何使用Arrays.sort对Java中的多态对象进行排序,java,Java,我正在研究实现一个接口和抽象类,现在我要解决这个问题。我希望你们能帮我解决这个问题,我正在寻找一个解释,以便理解代码。欢迎您提供任何建议,并衷心感谢 我一直试图运行代码以获得输出,但它不起作用。我认为C是一个答案,但我不确定 问题是:如果要将学生数组传递给Arrays.sort方法,以下哪项将按姓氏排序学生对象数组,如果两个学生的姓氏相同,则按学分排序 学生[]名单; //数组已创建并填充学生对象。。。 Arrays.sortlist; /*A*/公立班学生{ 私有字符串lastName; 私人

我正在研究实现一个接口和抽象类,现在我要解决这个问题。我希望你们能帮我解决这个问题,我正在寻找一个解释,以便理解代码。欢迎您提供任何建议,并衷心感谢

我一直试图运行代码以获得输出,但它不起作用。我认为C是一个答案,但我不确定

问题是:如果要将学生数组传递给Arrays.sort方法,以下哪项将按姓氏排序学生对象数组,如果两个学生的姓氏相同,则按学分排序

学生[]名单; //数组已创建并填充学生对象。。。 Arrays.sortlist; /*A*/公立班学生{ 私有字符串lastName; 私人积分; 公共国际比较{ int result=lastName.compareTo s.getLastName; 如果结果为!=0 返回结果; 其他的 返回积分-s.getCredits; } } /*B*/公立班学生{ 私有字符串lastName; 私人积分; 公共整数比较对象{ int结果=学分-学生o.getCredits; 如果结果为!=0 返回结果; 其他的 将lastName.compare返回给Student o.getLastName; } } /*C*/公立班学生{ 私有字符串lastName; 私人积分; 公共整数比较对象{ 结果=lastName.compareTo学生o.getLastName; 如果结果为!=0 返回结果; 其他的 返回学分-学生o.getCredits; } } /*D*/公立班学生{ 私有字符串lastName; 私人积分; 公共整数比较对象{ int result=lastName.compareTo学生o.getLastName; 如果结果为!=0 返回结果; 其他的 返回学分-学生o.getCredits; } } 答案是D,因为:

a。实现Comparable,但没有泛型含义,则compareTo方法应实现为public int compareToObject对象,而不是public int compareToStudent

b。正确实现接口,但它首先比较信用和姓氏,这就是为什么它不是答案

c。没有实现可比较的接口


d。完全符合我们的要求,并按预期实现

您实际上编写了4个功能解决方案,但无法确定哪一个是正确的?@SMA A没有实现原始Comparable,因为它没有提供compareToObject。D是的。我想C是那个……我不确定我的答案。@Nin D是答案。@SMA你能给我具体解释一下为什么D是答案吗?因为我想理解而不仅仅是答案。