Java - JScience 定义一个新单元

标签 java units-of-measurement jscience

我想在 JScience 中定义一个新的距离单位.项目网站的“教程”部分直接指向 Javadoc,它虽然相当完整,但对我来说有点过于密集,无法理解我实际上是如何定义我自己的单元的。

你能举个例子吗?

干杯。

皮特

最佳答案

我知道这是一个旧帖子,但是..无论如何我都会发布答案,也许它对某人有用

为了在 JScience 中定义自定义单位,您必须扩展类 SystemOfUnits 并在此处定义所有自定义单位。

检查下面的示例(我正在定义 ACREs 的单位)

public class MyUnits extends SystemOfUnits 
{
   private static HashSet<Unit<?>> UNITS = new HashSet();

   private static final MyUnits INSTANCE = new MyUnits();

   public static final Unit<Area> ACRE = myUnits((SI.METER.pow(2)).times(4046.8564224).asType(Area.class));

   public static MyUnits getInstance()
   {
      return INSTANCE;
   }    

   @Override
   public Set<Unit<?>> getUnits()
   {
      return Collections.unmodifiableSet(UNITS);
   }

   private static <U extends Unit<?>> U myUnits(U unit)
   {
      UNITS.add(unit);
      return unit;
   }
}

关于Java - JScience 定义一个新单元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4007937/

相关文章:

java - 程序在执行简单的 for 循环时卡住

java - 从警报中的文本字段获取文本

opencv - 视频中的速度和加速度测量

java - JScience 5.0 示例

java - Spring REST api OAuth2 验证来自外部授权服务器的 token

java - 如何获取Json数据

c++ - 变量名称中物理单位的样式?

F# 基于类型的度量单位转换

java - 从大型数据数组在 Java 中制作等高线图

java - 如何在java中使用jscience常量?