Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.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 比较功能问题_Java_Compareto - Fatal编程技术网

Java 比较功能问题

Java 比较功能问题,java,compareto,Java,Compareto,我想不出比较器的功能。这就是我必须要做的:编写一个compareTo函数,用于根据需要将产品按顺序排列 他们的零件号。也就是说,后面按字母顺序排列的零件号 顺序大于按字母顺序排列的较早的零件号。 这是我的代码: public class ProductType implements Comparable<ProductType> { private String partnum; private double price; private int stock;

我想不出比较器的功能。这就是我必须要做的:编写一个compareTo函数,用于根据需要将产品按顺序排列 他们的零件号。也就是说,后面按字母顺序排列的零件号 顺序大于按字母顺序排列的较早的零件号。 这是我的代码:

public class ProductType implements Comparable<ProductType> {
    private String partnum;
    private double price;
    private int stock;

    public ProductType(String partnum, double price, int stock) {
        this.partnum = partnum;
        this.price = price;
        this.stock = stock;
    }

    public ProductType() {
        partnum = "";
        price = 0;
        stock = 0;
    }

    public void setNum(String partnum) {
        this.partnum = partnum;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public void setStock(int stock) {
        this.stock = stock;
    }

    public String getNum() {
        return partnum;
    }

    public double getPrice() {
        return price;
    }

    public int getStock() {
        return stock;
    }

    public int compareTo(ProductType otherType) throws NullPointerExeption {
        if (otherType == null)
            throw new NullPointerException();
        return (this.getNum().compareTo.otherType.getNum());
    }

    public String toString() {
        String result = "" + this.getNum();
        return result;
    }
}
public类ProductType实现了可比较的{
私有字符串partnum;
私人双价;
私人股票;
公共产品类型(字符串partnum、双倍价格、整数库存){
this.partnum=partnum;
这个价格=价格;
这个。股票=股票;
}
公共产品类型(){
partnum=“”;
价格=0;
股票=0;
}
公共void setNum(字符串partnum){
this.partnum=partnum;
}
公共定价(双倍价格){
这个价格=价格;
}
公共无效集合库存(内部库存){
这个。股票=股票;
}
公共字符串getNum(){
返回partnum;
}
公开双价{
退货价格;
}
public int getStock(){
退货;
}
public int compareTo(ProductType otherType)抛出NullPointerExection{
if(otherType==null)
抛出新的NullPointerException();
返回(this.getNum().compareTo.otherType.getNum());
}
公共字符串toString(){
String result=“”+this.getNum();
返回结果;
}
}

更改您的退货声明

 return (this.getNum().compareTo.otherType.getNum());

因为
compareTo()
是方法

调用
compareTo()方法之前,请检查

null != this.getNum()

否则您将获得NPE。

更改您的返回声明

 return (this.getNum().compareTo.otherType.getNum());

因为
compareTo()
是方法

调用
compareTo()方法之前,请检查

null != this.getNum()

否则你会得到NPE。

你只是看起来有一个点而不是一个括号。它应该是
this.getNum().compareTo(otherType.getNum())
@pbabcdefp你能把它写成一个答案吗?@SezinKarli我做了一个评论,因为我不确定这是否是唯一的问题。不管怎么说,它现在似乎是一个答案。只是出于好奇:你为什么认为你可以像这样使用
compareTo
?你认为这是一个字段,而不是一个方法吗?你似乎只是有一个点而不是一个括号。它应该是
this.getNum().compareTo(otherType.getNum())
@pbabcdefp你能把它写成一个答案吗?@SezinKarli我做了一个评论,因为我不确定这是否是唯一的问题。不管怎么说,它现在似乎是一个答案。只是出于好奇:你为什么认为你可以像这样使用
compareTo
?你认为这是一个字段,而不是一个方法吗?我仍然得到一个错误的方法NullPointerException@Dem在比较之前请检查(this.getNum()!=null)。我仍然得到一个错误NullPointerException@Dem比较前请检查(this.getNum()!=null)。