【问题标题】:Testing for identical objects in Dart在 Dart 中测试相同的对象
【发布时间】:2023-03-28 04:43:02
【问题描述】:

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

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

  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”。

【问题讨论】:

    标签: dart


    【解决方案1】:

    identical 比较引用。 ab 是对编译时文字 1 的引用。因此它们是相同的。

    【讨论】:

    • 还想补充一点,您可以使用const { 1: 'y' } 使Map 成为编译时间常数,因此,如果与identical 相比,两个编译时间常数相同的映射返回true。跨度>
    • 啊,是的。说得通。谢谢。
    猜你喜欢
    • 2014-11-30
    • 1970-01-01
    • 2022-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多