首页 > 解决方案 > 为什么java中的'char'原语是必要的?

问题描述

我突然想到 java 中的 char 类型可以完全替换为整数类型(为了程序员的方便而保留字符文字)。这将允许存储大小的灵活性,因为 ASCII 只需要一个字节,而基本多语言平面之外的 Unicode 需要两个以上的字节。如果一个字符只是一个像短类型一样的两个字节的数字,为什么要为它提供一个单独的类型呢?

标签: javatypescharlanguage-design

解决方案


编程语言中没有什么是 100% 必要的;如果我们真的愿意,我们都可以使用 BCPL。(顺便说一句,几年前我学到了足以编写 fizzbuzz 并建议这样做。这是一种具有有趣观点和/或历史观点的语言。)

问题是,char 是简化还是改进编程?用您的话来说,是否值得每个字符一个字节来保存在某些字符使用字节而对其他字符使用短时所固有的 if/then 复杂性?我认为这个问题的答案很便宜:即使对于只有半兆字节或大约一美分 RAM 的新长度字符串也是如此。或者与使用 short 相比:使用单独的无符号 16 字节类型是否比使用有符号 16 字节类型保存 unicode 代码点改进或简化任何事情,因此字符“ꙁ”在 java 中是负数,在 java 中是正数现实?一个判断的问题。


推荐阅读