gpt4 book ai didi

java - 使用比较和克隆方法时遇到一些问题

转载 作者:行者123 更新时间:2023-12-01 12:20:37 25 4
gpt4 key购买 nike

我在程序中实现compareto和clone方法时遇到了一些麻烦,我收到一条错误消息:“Car不是抽象的,并且不会覆盖java.lang中的抽象方法compareTo(java.lang.Object) 。可比”。感谢任何帮助:)

这是我到目前为止所拥有的:



导入java.util.*;
公共(public)类 Car 实现 Comparable、Cloneable
{

私有(private)字符串模型;
私有(private)字符串颜色;
私有(private) int 年份;
私有(private) int vin_number;
私有(private)双价;



公共(public)汽车(){}

公共(public)汽车(字符串模型,字符串颜色,int年份,int vin_number,双倍价格)
{
this.model = 模型;
this.颜色=颜色;
this.year = 年;
this.vin_number = vin_number;
这个.价格 = 价格;
}

public Object clone() {//浅拷贝
尝试
{
返回 super.clone();
}
捕获(CloneNotSupportedException e)
{
返回空值;
}

}


public String getModel(){返回模型;}
public String getColor(){返回颜色;}
public int getYear(){返回年份;}
public int getVinNumber(){return vin_number;}
public double getPrice(){返回价格;}


公共(public)无效setModel(字符串newModel){模型= newModel;}
公共(public)无效setColor(字符串newColor){颜色= newColor;}
公共(public)无效setYear(int newYear){年= newYear;}
公共(public)无效setVinNumber(int newVinNumber){vin_number = newVinNumber;}
公共(public)无效setPrice(双newPrice){价格= newPrice;}

公共(public)字符串 toString()
{
return "型号:"+ 型号 + "颜色:"+ 颜色 + "年份:"+ 年份 + "Vin 编号:"+ vin_number + "价格:"+ 价格;
}


公共(public) int CompareTo(Car o)
{

if(this.getModel().compareTo(car.getModel()))//给出 1
返回1;

if(car.getModel().compareTo(this.getModel()))//给出-1
返回-1;

别的
{
返回0;
}

}

公共(public)静态无效主(字符串[]参数)
{

}


}

最佳答案

在实现可比较时,您必须指定要比较的类型:

class Car implements Comparable<Car>, Cloneable

原始类型将使用Object 。您使用的是原始类型,所以现在 compareTo必须声明Object作为参数,而不是 Car .

要修复此错误,请更改 implements Comparableimplements Comparable<Car>

关于java - 使用比较和克隆方法时遇到一些问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26685807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com