gpt4 book ai didi

java - 打印出 JScience 中所有定义的单位

转载 作者:行者123 更新时间:2023-11-30 11:04:11 27 4
gpt4 key购买 nike

我们有一个系统,用户可以在其中提供任何单位的数据。数据被存储并可能转换为相同维度的任何其他单位。它基于 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”。有人有解决方案吗?

最佳答案

你可能想给 JSR 363先试一试。它是 JScience 4 和 JSR 275 的继任者,后者从未最终定稿,而 JSR 363 在 2016 年 9 月完成。

JSR 363 知道多个单位系统,但我们只使用 RI 中内置的一个。您可以应用名为 SystemOfUnitsReporter 的库实用程序并按如下方式应用:

import tec.units.ri.unit.Units;
import tec.uom.lib.common.util.SystemOfUnitsReporter;

SystemOfUnitsReporter reporter = SystemOfUnitsReporter.of(Units.getInstance());
reporter.report();

这会将 SystemOfUnits 实现中的单位列表打印到控制台。

关于java - 打印出 JScience 中所有定义的单位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30103665/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com