Функция сравнения

Помогите не могу разобраться с функцией сравнения. Вот что мне нужно сделать: написать функцию сравнения, которую можно использовать для размещения товаров по порядку в соответствии с их номерами деталей. То есть номер детали, который находится позже в алфавитном порядке, больше, чем номер детали, который находится ранее в алфавитном порядке. Это мой код:

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;
    }
}

1 ответ

Изменить ваше заявление на возврат

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

в

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

так как compareTo() это метод.

перед звонком compareTo() метод проверки

null != this.getNum()

в противном случае вы получите NPE.

Другие вопросы по тегам