1.char和String的区别,char是字符, 用单引号,String是字符串,才是双引号;
不建议在 Java 程序中使用 char 数据类型
由于 Java 采用的是 16 位的 Unicode 字符集,即 UTF-16,所以在 Java 中 char 数据类型是定长的,其长度永远只有 16 位,char 数据类型永远只能表示代码点在 U+0000 ~ U+FFFF 之间的字符,也就是在 BMP 内的字符。如果代码点超过了这个范围,即使用了增补字符,那么 char 数据类型将无法支持,因为增补字符需要 32 位的长度来存储,我们只能转而使用 String 来存储这个字符。
char c1 = '?';
char c2 = '\u64321';
如上编写的代码,使用 char 数据类型来保存辅助平面的字符,编译器将会报错 Invalid character constant。
随着互联网用户的不断增多以及互联网语言的不断丰富,用户越来越高频率的在互联网上使用一些特殊字符来表达丰富的语义,而这些字符很有可能是属于辅助平面里的增补字符,所以如果我们使用 char 类型来进行处理,就很有可能减低我们程序的健壮性。
性别那个男改成单引号试试?