如何将Java中的for-each循环转换为普通for循环?
可以转换为普通for循环
原for-each循环的逻辑是将字符串转换为char数组,遍历数组中的每个字符并压入栈中,完全可以等价转换为普通for循环。
原代码:
for (Character character : string.toCharArray()) { stack.push(character); }
转换后的普通for循环(与原逻辑完全一致):
char[] charArray = string.toCharArray(); for (int i = 0; i < charArray.length; i++) { Character character = charArray[i]; stack.push(character); }
更高效的写法(无需提前转数组):
如果不想提前生成char数组,也可以直接通过字符串的charAt方法获取字符,避免额外的数组创建开销:
for (int i = 0; i < string.length(); i++) { Character character = string.charAt(i); stack.push(character); }
这两种普通for循环的实现效果和原for-each循环完全相同,都是遍历字符串的每个字符并压入栈中。
内容的提问来源于stack exchange,提问作者Abhinav Kishore M
相关产品推荐
相关产品推荐

