2016-01-06 85 views
1

我使用javax.measure編寫了一些代碼,並且當我從我們的存儲庫中提取更新的代碼時,每當我嘗試使用javax.measure中的<Length>時,都會遇到綁定不匹配錯誤。奇怪的Javax.measure.quantity.Length綁定不匹配

編輯確切的錯誤是:

綁定不匹配:類型長度是不是該類型的 界參數<Q extends Quantity>一個有效的替代BaseUnit<Q>

我感動的代碼乾淨工作空間,一切都不錯,但由於某種原因,在我的主工作區它無法正常工作。

爲什麼是這樣的話任何想法?我使用Eclipse和有問題的代碼如下

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(); 
    } 
} 
+0

請編輯的問題,包括你已經看到確切的錯誤。 –

回答

1

Measure<V,Q extends Quantity>需要類型參數:

  • VgetValue()返回的結果的類型。

  • QQuantityUnitgetUnit()返回。

由於MyUnit構造函數指定double,聲明應該是,例如,

Measure<Double, Length> unitValue; 
+0

感謝您的回覆。我剛拉了整個整個項目下來,從倉庫到一個乾淨的目錄,它解決了這一問題,我仍然不知道是什麼導致它。 – pianoisland

+0

聽起來像一個版本控制問題;真高興你做到了。 – trashgod