Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart中相同物体的测试_Dart - Fatal编程技术网

Dart中相同物体的测试

Dart中相同物体的测试,dart,Dart,根据文档,函数idential检查两个引用是否指向同一对象 考虑到这一点,我不明白为什么会出现以下情况: int a = 1; int b = 1; print(identical(a, b)); // prints 'true' Map c = { 1: 'y' }; Map d = { 1: 'y' }; print(identical(c, d)); // prints 'false' 我希望两个调用都返回“false”。比较引用a和b是对编译时文本1的引用。因此

根据文档,函数
idential
检查两个引用是否指向同一对象

考虑到这一点,我不明白为什么会出现以下情况:

  int a = 1;
  int b = 1;
  print(identical(a, b)); // prints 'true'
  Map c = { 1: 'y' };
  Map d = { 1: 'y' };
  print(identical(c, d)); // prints 'false'

我希望两个调用都返回“false”。

比较引用
a
b
是对编译时文本
1
的引用。因此它们是相同的。

还想补充一点,您可以使用
常量{1:'y'}
使
映射成为编译时常量,从而使两个编译时常量相同的映射与
相同的映射相比返回true。啊,是的。有道理。谢谢