EricLog
Published in

EricLog

Java 量度單位 (JSR 363 Units of Measurement API)

在日常生活中,我們都會用到不同的量度單位。例如重量有時會用公斤 (kg),有時會用磅 (lb),有時又會用斤之類。如果在 Java 上表示這些數值,用 intfloatdouble 的話有時會令人理解錯誤,就好像 UNIX timestamp 般一時會用秒一時會用毫秒。為防止人們誤解這個 variable 或 method 的時間單位,通常都要在名稱加上 millis 之類的後綴。知名例子有 System.currentTimeMillis 。如果處理時間的話,現成的有 。不過如果去到之前的重量單位的話,JDK 就沒有現成的 class。

如果是 Android 的話可以用 android.icu.util.Measure,但要 API level 24 (Android 7.0) 或以上才可使用,而且不包括單位轉換功能。

如果想在 Android API level 24 以前的裝置用到的話,可以考慮用 JSR 363 (Units of Measurement API)。它提供了一套 API 來表示量度單位和數值,而且包含單位轉換和格式化。

--

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Eric Li

Eric Li

Hongkonger + Android developer

More from Medium

Builder Pattern in Java

JDK 17 — Unsupported Class File Major Version

Chapter 16 -Collections and Generics: Data Structures

Spring Boot with Kotlin — Creating your First API