char是基本类型,表示单个字符,用单引号;String是引用类型,表示字符串,用双引号。2. char存单字符,String存字符序列且不可变。3. char可参与运算,String提供丰富方法。4. char不能为null,String可以。

在Java中,char和String虽然都与字符相关,但它们在本质、用途和使用方式上有明显区别。理解这些差异对掌握Java基础非常重要。
1. 数据类型不同:基本类型 vs 引用类型
char是Java的基本数据类型,用来表示单个16位Unicode字符,占用2个字节内存。它用单引号包裹,例如:'A'、'9'、'中'。
String是引用类型,属于Java中的类(java.lang.String),用来表示一串字符序列。它用双引号包裹,例如:"Hello"、"abc123"。
2. 存储内容:单字符 vs 字符串
char只能存储一个字符。定义多个字符需要用char数组。
立即学习“Java免费学习笔记(深入)”;
String可以存储0个或多个字符,是一个不可变的字符序列。即使只有一个字符,如"A",也是String类型。
3. 声明和初始化方式不同
示例:
char c = 'B'; String s = "Hello World";
注意不能把单引号用于String,也不能把双引号用于char。
4. 功能和操作上的差异
char支持字符相关的运算,比如比较、算术操作(因为本质是整数编码):
- char c = 'A' + 1; 结果是'B'
- 可用于switch语句中的case值
String提供丰富的操作方法,如:
- length():获取字符串长度
- charAt(0):获取指定位置的char字符
- substring()、equals()、toUpperCase()等
String对象一旦创建就不能修改(不可变性),任何“修改”都会生成新对象。
5. null值处理不同
char是基本类型,不能赋值为null,初始值是'\u0000'(空字符)。
String是引用类型,可以为null,也可以是空字符串"",两者意义不同。
基本上就这些。char适合处理单个字符,String用于文本处理。搞清它们的区别,能避免类型混淆和运行时错误。










