为什么 java 中的 'char' 原语是必需的?
Why is the 'char' primitive in java necessary?
我想到 java 中的 char 类型可以完全替换为整数类型(为了程序员的方便而保留字符文字)。这将允许存储大小的灵活性,因为 ASCII 只占用一个字节,而超出基本多语言平面的 Unicode 需要两个以上的字节。如果一个字符只是一个像 short 类型一样的两个字节的数字,为什么要有一个单独的类型呢?
编程语言没有什么是 100% 必要的;如果我们真的愿意,我们都可以使用 BCPL。 (顺便说一句,几年前我学得很好,可以编写 fizzbuzz 并推荐这样做。这是一种具有有趣观点 and/or 历史视角的语言。)
问题是,char 是否简化或改进了编程?用您的话来说,每个字符一个字节是否值得节省 if/then 对某些字符使用字节而对其他字符使用短字符所固有的复杂性?我认为这个问题的答案很简单:即使对于只有 0.5 兆字节或大约 1 美分的 RAM 价值的新颖长度的字符串也是如此。或者与使用 short 相比:使用单独的无符号 16 字节类型是否改进或简化了使用带符号的 16 字节类型来保存 unicode 代码点的任何事情,以便字符“ꙁ”在 java 而在现实中是积极的?判断题。
我想到 java 中的 char 类型可以完全替换为整数类型(为了程序员的方便而保留字符文字)。这将允许存储大小的灵活性,因为 ASCII 只占用一个字节,而超出基本多语言平面的 Unicode 需要两个以上的字节。如果一个字符只是一个像 short 类型一样的两个字节的数字,为什么要有一个单独的类型呢?
编程语言没有什么是 100% 必要的;如果我们真的愿意,我们都可以使用 BCPL。 (顺便说一句,几年前我学得很好,可以编写 fizzbuzz 并推荐这样做。这是一种具有有趣观点 and/or 历史视角的语言。)
问题是,char 是否简化或改进了编程?用您的话来说,每个字符一个字节是否值得节省 if/then 对某些字符使用字节而对其他字符使用短字符所固有的复杂性?我认为这个问题的答案很简单:即使对于只有 0.5 兆字节或大约 1 美分的 RAM 价值的新颖长度的字符串也是如此。或者与使用 short 相比:使用单独的无符号 16 字节类型是否改进或简化了使用带符号的 16 字节类型来保存 unicode 代码点的任何事情,以便字符“ꙁ”在 java 而在现实中是积极的?判断题。