Java 字符串转数组的常用方法与注意事项
为什么要把字符串转成数组?
在正式开始之前,咱们先聊聊为什么要做这个转换。
想象一下,你拿到一个用逗号分隔的用户 ID 列表:'1001,1002,1003,1004',你得把每个 ID 提取出来去数据库查询。或者你在处理 CSV 文件,每一行都是用分隔符隔开的数据。这时候,把字符串切分成数组就变得非常必要了。
再比如,你要统计一段文字里每个字符出现的次数,或者要倒序输出一个字符串,这些场景下把字符串转成字符数组会让你的代码简洁很多。
方法一:toCharArray() - 转成字符数组
这是最基础的方法,直接把字符串的每个字符拆出来。
String text = "Hello";
char[] charArray = text.toCharArray();
for (char c : charArray) {
System.out.println(c);
}
// 输出:H e l l o(每个字符一行)
这个方法的使用场景特别多。比如你要判断一个字符串是不是回文(正着读反着读都一样),就可以先转成字符数组,然后从两头往中间比对:
public boolean isPalindrome(String str) {
char[] chars = str.toLowerCase().toCharArray();
int left = 0, right = chars.length - 1;
while (left < right) {
if (chars[left] != chars[right]) {
return false;
}
left++;
right--;
}
return true;
}
小技巧:toCharArray() 返回的是一个新数组,不会影响原字符串。这也证明了 Java 中 String 是不可变的这个特性。
方法二:split() - 按规则切分
如果你要按照某个分隔符把字符串切开,split() 就是你的最佳选择。
String fruits = "苹果,香蕉,橙子,葡萄";
String[] fruitArray = fruits.split(",");
for (String fruit : fruitArray) {
System.out.println(fruit);
}


