我正在处理一个同时使用基本测量单位和派生测量单位的临床应用程序。
目前,我们将它们作为文本字段存储在每个需要单位的表的单独列中。不过,我计划重新设计数据库,以便我们将所有计量单位放在一张表中,并在需要 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/