我正在比较Dart中的两个列表:
main() {
if ([1,2,3] == [1,2,3]) {
print("Equal");
} else {
print("Not equal");
}
}
Run Code Online (Sandbox Code Playgroud)
但他们永远不会平等.Dart API中似乎没有equ()方法来比较列表或集合.有没有正确的方法来做到这一点?
以下代码打印:
false
false
true
{{a: b}, {a: b}}
Run Code Online (Sandbox Code Playgroud)
码
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);
}
Run Code Online (Sandbox Code Playgroud)
我正在使用json并解析两个等效对象,将它们存储在一个Set中,希望它们不会被复制.情况并非如此,似乎是因为前两行(意外?)导致错误.正确比较两个Map对象的有效方法是什么,假设每个都是JSON.parse()的结果?
dart ×2