다트 질문 : "내 생각에" "정상적인 동작"을 표시하려면 명시 적으로 설정하지 않고 키 - 값 쌍의 값을 변경하지 마십시오 :명시 적으로 설정하지 않고 다트 - 맵 값이 변경됨
Map<String,String> mup = {};
mup['a']='fred';
var val = mup['a'];// val==fred
val = 'joe';
print(mup); // (a: fred} - unchanged
mup['a']=val; //set
print(mup); // (a: joe} - changed OK
이상한 방법으로 보여 주지만 놀라운 것은 없습니다. 값이 목록 인 경우 목록의 값이 변경되는 경우 그러나,지도는 즉시 업데이트됩니다
Map<String,List> mup = {};
mup['a']=[1,2,3,4,5,6];
var val = mup['a'];
val[1]=66;
print (mup);//{a: [1, 66, 3, 4, 5, 6]}
그래서 MUP가 변경된 명시 적으로 변경하지 않고! 무슨 일 이니 ... 제발?
나에게 놀랍지 만, 나는 이다. 초보자! 스티브
@ mezoni. 둘 다 고마워. 나는 그것이 불변의 문자열에 적용되지 않는 이유를 알 것 같지만, 객체 인 int (그냥 테스트 한지도)에는 적용되지 않는다. 왜 안돼? S –
Lymp
'int' 또한 불변입니다. 'int'의 값을 변경할 수 없습니다. 다른 인스턴스 (다른 값) 만 지정할 수 있습니다. –