What is unsigned type
unsigned type 是說,假設 int 能夠放 100 ~ -100,給了 int unsigend 就能夠處理 0~ 200 的數值,不需透過更大的資料型別例如 Long 來解決。
像 C 語言是有支援 unsigned type , 沒有 unsigned type 的缺點是必須要花兩倍的 memory 來處理一個相似的問題, 另外一個是可讀性的問題,當看到一個變數是 unsigend,就能清楚的知道,肯定不會有負數出現。
Why Java didn’t support unsigned type
至於為什麼 Java 不支援,可能 有幾個原因:
- Java 的設計者,想要單純化原始型別的處理。
- 常用的情境下,大部分都不會是 unsigend 的情形。
我認為比較有可能的理由,是單純化這種原始型別,不常用的情境,就不要過度設計了。