在Flutter / Dart中调试时区分类的实例

时间:2018-11-18 14:29:28

标签: debugging dart flutter instance

在Flutter中进行调试时,甚至只是将对象打印为String时,我都无法区分对象的不同实例。仅看9+行或调试器检查,Foof1f2代表多少f3个实例?

enter image description here

相比之下,例如在Java中,每个实例都打印有其地址,并且易于区分。即使我们正在调试一些远离第5-7行的代码,仍然很容易看出存在两个实例。

enter image description here

我可以在调试过程中使用“求值表达式”来手动检查相等性,但是如果引用在不同的范围内,伸缩性不好,并且会很快复杂化。

还有其他更好的解决方案吗?

1 个答案:

答案 0 :(得分:3)

您在控制台中看到的是toString()方法。

您可以覆盖它以打印一些自定义信息。例如,大多数flutter小部件都将其覆盖以打印其参数。

可能的替代方法是添加哈希码:

@override
String toString() {
  return super.toString() + " " + hashCode;
}