使用for each分配object array的问题

lxyscls 2017-04-12 08:46:31
        String[] sa = new String[3];
for (String str : sa) {
str = new String("hello");
}

不好使,只能用for(;;),请问是java本身的限制么?底层是怎么个实现,造成了这种限制呢?
...全文
114 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxyscls 2017-04-12
  • 打赏
  • 举报
回复
14.14.2. The enhanced for statement
for ( {VariableModifier} UnannType VariableDeclaratorId : Expression ) Statement
T[] #a = Expression;
L1: L2: ... Lm:
for (int #i = 0; #i < #a.length; #i++) {
    {VariableModifier} TargetType Identifier = #a[#i];
    Statement
}
Statement里面new确实是个然并卵
lxyscls 2017-04-12
  • 打赏
  • 举报
回复
引用 1 楼 MikeDDT009 的回复:
你这什么鬼 ,foreach的作用基本也就是拿来遍历数组用的,你这写的都有问题啊 主要就是拿来遍历数组输出什么的,基本使用是这样的,补充说明任何foreach都能写成for的形式,而for的形式不是所有都能写成foreach:
		int[] nums = new int[]{1,5,9,6,3};
		for (int i : nums) {
			System.out.println(i);
		}
话是这么说没错,但这也是遍历数组呀
引用
补充说明任何foreach都能写成for的形式,而for的形式不是所有都能写成foreach
您这话讲反了吧
引用
public interface Iterable<T> Implementing this interface allows an object to be the target of the "for-each loop" statement. See For-each Loop
MikeDDT009 2017-04-12
  • 打赏
  • 举报
回复
你这什么鬼 ,foreach的作用基本也就是拿来遍历数组用的,你这写的都有问题啊 主要就是拿来遍历数组输出什么的,基本使用是这样的,补充说明任何foreach都能写成for的形式,而for的形式不是所有都能写成foreach:
		int[] nums = new int[]{1,5,9,6,3};
		for (int i : nums) {
			System.out.println(i);
		}

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧