Java字符串和字符数组的区别
与 C/C++ 不同,字符数组和字符串在 Java 中是两种不同的东西。字符数组和字符串都是字符的集合,但属性不同。
Java字符串和字符数组的区别如下:
字符串 | 字符数组 |
---|---|
字符串是指表示为单一数据类型的字符序列 | 字符数组是数据类型 char 的顺序集合 |
字符串是不可变的 | 字符数组是可变的 |
可以在字符串上使用 substring() 、 charAt() 等内置函数 |
Java 中没有为字符数组的操作提供内置函数 |
'+' 可用于将字符串附加在一起以形成新字符串 |
+ 不能用于附加两个字符数组 |
charAt() 方法可用于访问字符串中特定索引处的字符 |
字符数组中的字符可以像使用任何其他语言一样通过使用 [] 正常访问 |
字符串可以以任何方式存储在内存中 | 字符数组中的元素连续存储在不断增加的内存位置 |
所有字符串都存储在字符串常量池中 | 所有字符数组都存储在堆中 |
不适合在 Java 中存储密码 | 首选用于在 Java 中存储密码 |
使用 String 类的 toCharArray() 方法可以将字符串转换为字符数组 |
通过将字符数组传递给字符串构造函数,可以将字符数组转换为字符串 |