在actionscript 3中创建枚举并进行比较

时间:2016-09-15 08:18:36

标签: actionscript-3 enums flash-builder

我需要创建一些枚举值,给它一个默认值,然后比较它。

我有这个枚举类

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
    }

1 个答案:

答案 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这样的内置常量就是这样定义的。