gpt4 book ai didi

dart - 构造函数未在静态属性上调用

转载 作者:行者123 更新时间:2023-12-03 04:11:49 25 4
gpt4 key购买 nike

我有一个带有静态最终属性的类,并将所有值存储在列表中:

class Foo {

static final Foo ATTRIBUTE_ONE = Foo(0);
static final Foo ATTRIBUTE_TWO = Foo(1);
static final Foo ATTRIBUTE_THREE = Foo(2);

static List<Foo> VALUES = new List();

int _index;

Foo(this._index) {
VALUES.add(this);
}

static Foo of(int index) {
return VALUES.firstWhere((value) => value._index == index);
}
}

但是,当我调用 of方法时, VALUES为空。如果我使用Android Studio调试器检查属性之一,则将其添加到 VALUES列表中。

如何强制构造函数调用所有属性?

最佳答案

如Dart导游中所述:

Static variables aren’t initialized until they’re used.



https://dart.dev/guides/language/language-tour#class-variables-and-methods

为了解决您的问题,如果您需要将Enum值转换为数字值(和反向),建议将Enum与映射方法结合使用。

关于dart - 构造函数未在静态属性上调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57648440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com