我需要创建一些枚举值,给它一个默认值,然后比较它。
我有这个枚举类
public class Car
{
public static const Tesla:int = 1;
public static const Ford:int = 2;
}
如何启动新的Car enumn变量,其默认值为" Tesla"以及如何比较变量?我正在寻找这样的事情:
public var c:Car = new Car(Car.Tesla);
if (c == Car.Tesla){
// Do something
}
编辑,现在更改为以下内容:
public final class Car
{
public static const Tesla:String = "tesla";
public static const Ford:String = "ford";
}
在mxml文件中:
public var c:String = Car.Tesla;
if (c == Car.Tesla){
// Do something
}
答案 0 :(得分:0)
我有这个枚举类
正好我们在同一页上关于它:这不是一个枚举,并且as3中没有枚举。该语言没有该功能。
如何启动新的Car enumn变量,其默认值为" Tesla"以及如何比较变量?
你不能,因为Car
是一个类型,它所拥有的静态属性是int
类型,这是完全不同的。
你可以做的是:
var c:int = Car.Tesla;
if (c == Car.Tesla){
// Do something
}
如果您想要一个Car
对象,请将brand
属性添加到类型int
的类中,然后您可以将常量的值分配给:
var c:Car = new Car();
c.brand = Car.Tesla;
if (c.brand == Car.Tesla){
// Do something
}
您还可以向构造函数添加参数并在其中插入值。
顺便说一下。改变
public static const Tesla:int = 1;
到
public static const Tesla:String = "tesla";
将使您有机会在调试期间获得更有意义的值。像MouseEvent.CLICK
这样的内置常量就是这样定义的。