ユーザーが任意の単位のデータを提供できるシステムがあります。データは保存され、場合によっては同じ次元の他の単位に変換されます。JScience api に基づいています。
サポートされているすべてのユニットと、それらが持つすべてのエイリアスのリストを作成したいと思います。これを行う方法が見つからないようです。現在、私はこれをやっています:
for (javax.measure.unit.Unit<?> unit: javax.measure.unit.SI.getInstance().getUnits())
System.out.println(UnitFormat.getInstance().format(unit));
for (javax.measure.unit.Unit<?> unit: javax.measure.unit.NonSI.getInstance().getUnits())
System.out.println(UnitFormat.getInstance().format(unit));
まず、これはラベルのリストのみを生成します。エイリアスを取得する方法がまったく見つかりません。
第二に、すべてのユニットが含まれているようには見えません。逆コンパイルされたファイル javax.measure.unit.UnitFormat を見ると、すべてのラベルが添付されているように見えます。次の行が表示されます。
DEFAULT.label(NonSI.ROENTGEN, "Roentgen");
しかし、出力に「Reontgen」が表示されません。誰にも解決策がありますか?