采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师 有char Character 为啥还要String? 有什么用
春去秋来你好:
我们先来说一说 char 和 Character 的关系:Character 是 char 的包装器类,就像 Integer 和 int,包装器类和基本类型可以自动转换,这个叫做自动封箱和自动拆箱。这个思想和作用比较简单,我这里就不再赘述了。那么,下面,我来解释下 char(包装器类也是一样的) 和 String 的不同。
由于 Java 采用的是 16 位的 Unicode 字符集,即 UTF-16,所以在 Java 中 char 数据类型是定长的,其长度永远只有 16 位,char 数据类型永远只能表示代码点在 U+0000 ~ U+FFFF 之间的字符,也就是在 BMP 内的字符。
我们来看一个例子,你可以把以下的代码直接粘贴到你的 IDEA 中:
char c1 = '?'; char c2 = '\u64321'; String s1 = "?"; String s2 = "\u64321";
你会发现,使用 char 数据类型来保存那个特殊的字符,编译器将会报错 Invalid character constant。所以:
(1)如果代码点超过了这个范围,即使用了增补字符,那么 char 数据类型将无法支持;
(2)因为增补字符需要 32 位的长度来存储,我们只能转而使用 String 来存储这个字符。
此外,我们应该绝大多数的情况都应该考虑使用 String,而不是 char。毕竟,String 是 Java 中的对象,它会给你带来很多便利。
我是勤一,致力于将这门课程的问答区打造为 Java 知识体系知识库,Java 知识体系 BBS!共同建造、维护这门课程,我需要每一个你!
非常感谢!
那不是char没作用了?
不要这样去看待 char,很少会被使用与没有用也是两码事呀。思考下,如果你只存储一个字符,char 是不是会比 String 节省很多空间呢?这对于高效率、需要节省内存的应用或工程来说,是肯定需要考虑的。例如很多 RPC 框架内部都大量使用了 char。 只是说,我们日常的业务场景中,String 基本上足够了,char 的话,用处就显得很小了。
登录后可查看更多问答,登录/注册
掌握业务开发中各种类型的坑,,Java web开发领域通用
1.7k 4
1.2k 3
974 12
974 2
1.7k 3