为了账号安全,请及时绑定邮箱和手机立即绑定

这个list2的值怎么也改变了?

void main() {
  var list2 = ["h","e","l","l","o"];
  print(listTimes(list2, times)); //打印 [hhh, eee, lll, lll, ooo]
  print(list2);          //打印 [hhh, eee, lll, lll, ooo]
  //print(list);         //报错不存在
}

List listTimes (List list, String f(str)) {
  for (var index = 0; index < list.length; ++index) {
    list[index] = f(list[index]);
  }
  return list;
}
String times(str) {
  return str*3;
}

把list2传到listTimes里去,怎么list2也变成[hhh, eee, lll, lll, ooo]了,那要用到["h","e","l","l","o"]的时候怎么办。怎么改进


正在回答

1 回答

List listTimes (List list, String f(str)) {
 var rt = [];
  for (var index = 0; index < list.length; ++index) {
    rt.add(f(list[index]));
  }
  return rt;
}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这个list2的值怎么也改变了?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信