java - 为什么java中的'char'原语是必要的?
问题描述
我突然想到 java 中的 char 类型可以完全替换为整数类型(为了程序员的方便而保留字符文字)。这将允许存储大小的灵活性,因为 ASCII 只需要一个字节,而基本多语言平面之外的 Unicode 需要两个以上的字节。如果一个字符只是一个像短类型一样的两个字节的数字,为什么要为它提供一个单独的类型呢?
解决方案
编程语言中没有什么是 100% 必要的;如果我们真的愿意,我们都可以使用 BCPL。(顺便说一句,几年前我学到了足以编写 fizzbuzz 并建议这样做。这是一种具有有趣观点和/或历史观点的语言。)
问题是,char 是简化还是改进编程?用您的话来说,是否值得每个字符一个字节来保存在某些字符使用字节而对其他字符使用短时所固有的 if/then 复杂性?我认为这个问题的答案很便宜:即使对于只有半兆字节或大约一美分 RAM 的新长度字符串也是如此。或者与使用 short 相比:使用单独的无符号 16 字节类型是否比使用有符号 16 字节类型保存 unicode 代码点改进或简化任何事情,因此字符“ꙁ”在 java 中是负数,在 java 中是正数现实?一个判断的问题。
推荐阅读
- python - LRU缓存使用多个键?
- node.js - 安装并要求 express-validator 后出现“TypeError:validator is not a function”
- regex - Rails 正则表达式排除符号结束单词之间的空格
- javascript - 如何在 react-native 组件中使用第三方 JS 库?
- javascript - 执行 splitter.refresh 后无法在 shieldSplitter 中初始化谷歌地图
- c# - 通过 cmd 行运行时未检测到使用 xunit 框架编写的 selenium 测试
- python-3.x - 是否有一个 python 函数可以让我获取一个主 CSV 文件并将其拆分为 100 行?
- botframework - 如何添加多个 ComponentDialogs?
- asp.net - 使用嵌套布局时,是否可以将使用 Razor 引擎的部分渲染委托给父布局?
- vba - 我试图在找到字符串后删除(用户确定的)数量的段落