java中将string转为char数组最直接的方式是调用tochararray()方法,该方法返回新创建的、与原字符串内容一致且可读可写的char[],时间复杂度o(n),适合需频繁随机访问或修改单个字符的场景。

Java 中把 String 转成 char 数组最直接的方式是调用 toCharArray() 方法,之后就能用普通 for 或增强 for 遍历每个字符。
使用 toCharArray() 获取字符数组
String 类提供了内置方法 toCharArray(),它会返回一个新创建的 char[],内容与原字符串完全一致。这个数组可读可写,且与原字符串互不影响。
- 语法简洁:`char[] chars = str.toCharArray();`
- 时间复杂度为 O(n),需复制全部字符
- 适合需要频繁随机访问或修改单个字符的场景
用普通 for 循环遍历 char 数组
拿到 char 数组后,可通过下标逐个访问:
String str = "Hello";
char[] chars = str.toCharArray();
for (int i = 0; i
<p>这种方式便于获取索引位置,也方便结合条件判断(比如跳过空格、统计某字符出现次数)。</p><div class="aritcle_card flexRow artxards">
<div class="artcardd flexRow">
<a class="aritcle_card_img" rel="nofollow" href="/xiazai/skill6235" title="Java Maven Code Review"><img
src="https://img.php.cn/upload/skill/000/000/081/179084711841712.jpg" alt="Java Maven Code Review" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a>
<div class="aritcle_card_info flexColumn">
<a rel="nofollow" href="/xiazai/skill6235" title="Java Maven Code Review" class="overflowclass">Java Maven Code Review</a>
<p class="overflowclass">审查Java Maven项目(ZIP压缩包或GitLab仓库URL),检查代码规范、命名、模块边界、可维护性问题以及重复代码。</p>
</div>
<a rel="nofollow" href="/xiazai/skill6235" title="Java Maven Code Review" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span>
</a>
</div>
</div>
<h3>用增强 for 循环(for-each)遍历</h3>
<p>如果只需读取每个字符,不需要索引,增强 for 更简洁:</p>
<pre class="brush:java;toolbar:false;">for (char c : chars) {
System.out.println(c);
}
注意:增强 for 不能直接修改数组元素(因为 c 是副本),如需修改,请回到普通 for + 下标方式。
不建议直接用 charAt() 代替数组遍历
虽然 `str.charAt(i)` 也能逐个取字符,但每次调用都需边界检查和数组访问,反复调用在长字符串中效率略低;而转成数组后遍历,底层是连续内存访问,JVM 优化更好。除非内存极其敏感或只取少数几个位置的字符,否则优先选 toCharArray()。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










