以下代码打印:
false
false
true
{{a: b}, {a: b}}
代码
import "dart:json" as JSON;
main() {
print(JSON.parse('{ "a" : "b" }') == JSON.parse('{ "a" : "b" }'));
print({ "a" : "b" } == { "a" : "b" });
print({ "a" : "b" }.toString() == { "a" : "b" }.toString());
Set s = new Set();
s.add(JSON.parse('{ "a" : "b" }'));
s.add(JSON.parse('{ "a" : "b" }'));
print(s);
}
我正在使用 json 并解析两个等效对象,将它们存储在一个 Set 中,希望它们不会被重复。情况并非如此,似乎是因为前两行(出乎意料?)导致错误。假设每个对象都是 JSON.parse() 的结果,那么正确比较两个 Map 对象的有效方法是什么?