java - 存储和管理测量单位

标签 java units-of-measurement

我正在处理一个同时使用基本测量单位和派生测量单位的临床应用程序。

目前,我们将它们作为文本字段存储在每个需要单位的表的单独列中。不过,我计划重新设计数据库,以便我们将所有计量单位放在一张表中,并在需要 UOM 的表中使用外键。

这样就解决了数据库层面的问题。然而,在Java代码中,我们使用String来存储单位,如下所示:

class Foo {
    double amount;
    String unit;
}

我想使用 String 来存储单位可能会成为 future 的一场噩梦。我需要有关管理计量单位的干净方法的建议,以便我可以比较两个 Foo 或通过确保它们具有相同的单位来添加两个 Foo 等。

最佳答案

我认为你应该有比字符串更好的抽象;它只不过是一个原始的。

我会编写一个 Units 类,它可以解析并存储数据库中的这些字符串,并允许您轻松比较它们。

public class Units {
    private final String name;

    // constructors, equals, hashCode, toString and other operations here
}

拥有单位类别也可能很有用。 (您可以通过多种方式测量压力。)英国和国际单位可以描述同一件事。

您可能还具有基于物理量(例如力、质量、电荷、时间等)的类别

关于java - 存储和管理测量单位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9832021/

相关文章:

r - 在包加载/卸载 : best practise? 上加载/删除用户定义的单元

.net - 在 System.Numerics.Vector<T> 中使用 F# 度量单位

java - 基于两列对大文件进行排序

java - 我无法从 java spring boot 中的属性访问数据

c - 如何在 C 中计算立方英尺并像我用英寸那样将其读给用户

css - css 'ex' 单元的值是多少?

java - Scala UOM 库

java - 连接到端口 1527 上的服务器本地主机时出错,并显示消息“连接被拒绝”

java - Netbeans + servlet

Java 字符串分割字符串 "},"