JSR-275已被拒绝,Units of Measurement for Java项目是一组接口,但尚未找到开源实现。
关于这篇文章:Which jsr-275 units implementation should be used?项目所有者提到JScience上的实现将于去年年底准备就绪,但没有找到任何可以在重量或长度单位之间进行转换的东西,当我在https://maven.java.net/上查找JScience时,我找到了它,但JAR甚至不在目录https://maven.java.net/content/repositories/snapshots/org/jscience/jscience/5.0-SNAPSHOT/中,所以我不得不从其他地方获得它。
这个项目已经被抛在后面了吗?目前有没有实现Java甚至Maven代码库中度量单位的转换?
发布于 2011-06-25 07:56:24
据我所知,JScience还很活跃。该项目目前正在迁移到Java.net,迁移尚未完成。这很可能是您无法看到5.0的快照JAR的原因。事实上,最新的快照是在Java.net JIRA中报告的a particular configuration problem解析之后准备的。您可能应该等待几天,或者可能向项目管理员发送一封邮件,说明在此期间必须使用哪些JScience POM。
发布于 2013-01-24 05:15:56
Unit-API (unitsofmeasurement.org)是JSR-275的后续版本。
目前最活跃的实现是Eclipse UOMo
发布于 2021-06-10 03:42:57
此JSR-363 Units of Measurement API的更新已于2016年完成,并提供了一个相当完整的UoM API。这现在已经被JSR-385 Units of Measurement API 2.0取代了。你可以在Github这里的https://github.com/unitsofmeasurement上找到API和实现背后的代码。
下面是一个使用UoM API2.0的简单转换示例
import tech.units.indriya.quantity.Quantities;
import javax.measure.Quantity;
import javax.measure.quantity.Length;
import static javax.measure.MetricPrefix.CENTI;
import static tech.units.indriya.unit.Units.METRE;
class SimpleUnitExample {
public static void main(String[] args) {
Quantity<Length> lengthQuantity = Quantities.getQuantity(25, METRE);
System.out.println(lengthQuantity.to(CENTI(METRE)));
}
}依赖于tech.units:indriya:2.0.4将打印2500 cm。
你可以在这个repo uom-demos中找到更多的例子。
https://stackoverflow.com/questions/6474658
复制相似问题