2017-06-05 55 views
-1

我有一个实例字段lockAction的类,值1是锁,3是解锁。我想介绍枚举到我的EJB项目。我怎么知道的?如何在我的项目上使用枚举?

public enum lockUnlock { 
    LOCK, //1 
    UNLOCK, //3 

}

+0

假设这个[示例](https://stackoverflow.com/questions/9464939/java-enum-access-to-private-instance-variable)提出了一种更好的解决方案 –

+0

Oracle的[枚举教程(HTTPS: //docs.oracle.com/javase/tutorial/java/javaOO/enum.html)有一个包含值的枚举类型的例子。 –

+1

但是,你现在还没有给我们足够的信息,说明你是否需要将整数值包装到枚举中(例如,向后兼容等),或者你可以使用简单枚举。 –

回答

2

你可以赋值给枚举像这样。

public enum LockUnlock { 
    LOCK(1), UNLOCK(3); 

    private final int value; 
    private LockUnlock(int value) { 
     this.value = value; 
    } 
    public int getValue() { return value; } 
} 
+0

@SteveSmith还有什么可以做的呢?当然,枚举具有序号,但这些值将是0和1. – Magnilex

+1

这应该是一种方法还是类?它如何在我的EJB中调用它? –

2
you can use something like this. 

public enum lockUnlock { 
    LOCK(1), UNLOCK(3); 
    int value; 

    lockUnlock(int value) { 
     this.value = value; 
    } 

    public int getValue() { 
     return value; 
    } 
} 

class Test { 

    public static void main(String[] args) { 
     lockUnlock[] b = lockUnlock.values(); 
     for (lockUnlock b1 : b) { 
      System.out.println(b1 + "........" + b1.getValue()); 
     } 
    } 
} 
0

@eldix_当你知道一些你的代码中的常量数据不能被用户改变了你可以使用枚举。例如, 。 如果你想在一个下降表现出一些数据在屏幕上上下像下面

enter image description here

如图所示的例子,在下拉值是常数,其客户有选择。

我们可以在一个地方改变它,在任何地方使用它,而不会改变数据。 enter image description here