私たちはユニットを動的に管理するために偉大なunit-of-measurementフレームワークを使用しています。私は数量で単位のリストをフィルタリングするという要件を持っています。例えば。すべての質量を表示する(tonne、kg ....)。このリストの結果は、一般的なキャプチャリストになります(これは理想的ではありません - 私は知っています)。一般情報は実行時には存在しません(コンパイル時のみ)。しかしながらunitインタフェースの実装は、互換性が存在する確認するために存在する:数量単位のフィルタ
ブールisCompatible(単位こと)。
@Test public void testCompatible_ByUnit(){ Unit<Mass> kilogram = Units.KILOGRAM; Unit<Mass> tonne = NonSI.TONNE; assertTrue(kilogram.isCompatible(tonne)); }
quantityでcompatiblityをチェックする任意のインターフェイスはありますか?
量がMassの非実用例。
@Test
public void testCompatible_FilterByQuantityAndCapture(){
Unit<?> kilogram = Units.KILOGRAM;
// wish: interface does not exist
assertTrue(kilogram.isCompatible(Mass.class));
}
ありがとうございます - 数量のデフォルト(またはシステム)単位の回避策が働いています。 – itstata
私はuom-riライブラリの 'METRE'を使ってgetUnits()のアプローチを試しています。長さの単位のリストを本質的に取得し、空のセットを取得し続けます: ' Set <?ユニット>> units = system.getUnits(METRE.getDimension()); ' APIの誤用に関するガイダンスはありますか?数量を入力/更新するためのUIが必要です。ありがとう! – arpieb
それを指摘してくれてありがとう。 RIまたはJava SE実装を使用しましたか?私たちはそれを複製し、通話の変更方法や必要に応じて問題を修正する方法を教えます。 –