You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JSR 385(Indriya)中获取Quantity对应的测量类型接口?

关于JSR-385 Indriya实现中解析Quantity后确定对应测量接口的问题

我正在使用JSR-385的参考实现Indriya,通过以下代码解析用户输入的字符串获取Quantity实例:

QuantityFormat qf = ServiceProvider.current().getFormatService().getQuantityFormat();
Quantity q1 = qf.parse("10 J"); // 字符串来自用户输入,计量单位不固定

我需要确定q1对应的是javax.measure.quantity包中的哪一个测量接口。尝试过获取Dimension,但Dimension无法区分不同的测量类型:

Quantity q2 = qf.parse("10 N*m");
System.out.println(q1.compareTo(q2)); // 输出"0",但能量和扭矩并非同一测量类型

另外补充一点:Dimension.getBaseDimensions()的API设计存在不一致性——它并非始终返回Map<Dimension, Integer>:仅当Dimension与基础维度无关时才返回该类型,否则返回null(原本可以始终返回包含单个Map.Entry的Map来保持一致性),不过UnitDimension.NONE是例外,它会返回空Map。

内容的提问来源于stack exchange,提问作者zambotn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 18:45:02