Странное Javax.measure.quantity.Longth Bound Mismatch

Я написал некоторый код, используя javax.measure, и когда я извлекаю обновленный код из нашего репозитория, я получаю ошибку Bound Mismatch всякий раз, когда пытаюсь использовать <Length> из javax.measure.

Изменить точную ошибку:

Несоответствие границ: тип Длина не является допустимой заменой ограниченного параметра <Q extends Quantity> типа BaseUnit<Q>

Я переместил код в чистую рабочую область, и все было просто отлично, но по какой-то причине в моей основной рабочей области он не работает.

Есть идеи, почему это так? Я использую затмение и код ниже

import javax.measure.Measure;
import javax.measure.quantity.Length;
import javax.measure.unit.BaseUnit;

public class MyUnit{
    BaseUnit<Length> unitType;
    Measure<Length> unitValue;

    public MyUnit(double value, String abbreviation) {
        this.unitType = new BaseUnit<Length>(abbreviation);
        this.unitValue = Measure.valueOf(value, unitType);
    }

    public double getValue() {
        return (double)this.unitValue.getValue();
    }

    public String getUnit() {
        return this.unitType.getSymbol();
    }
}

1 ответ

Measure<V,Q extends Quantity> требуется два параметра типа:

  • V тип результата, возвращаемого getValue(),

  • Q Quantity из Unit вернулся getUnit(),

Как MyUnit конструктор указывает double декларация должна быть, например,

Measure<Double, Length> unitValue;
Другие вопросы по тегам