Java 设置类的枚举值

Java 设置类的枚举值,java,Java,我有一个类,即下面提供的OrderProviderData public class OrderProviderData { public enum TradingInterface {CX_CLIENT, CX_SERVER, CX_ADMIN, CX_ENGINE} private boolean easyTrade = false; private OrderPreSelect order; private String[] event; p

我有一个类,即下面提供的
OrderProviderData

public class OrderProviderData {

    public enum TradingInterface {CX_CLIENT, CX_SERVER, CX_ADMIN, CX_ENGINE}

    private boolean easyTrade = false;

    private OrderPreSelect order;
    private String[] event;

    public OrderPreSelect getOrder() {
        return order;
    }

    public void setOrder(OrderPreSelect order) {
        this.order = order;
    }

    public String[] getEvent() {
        return event;
    }

    public void setEvent(String[] event) {
        this.event = event;
    }
}
我想为中的
OrderProviderData
实例设置值
receiveEvent
基于某些条件的方法

public final class OrderProvider extends BlockingDatabaseOrderWorker {

    // some code to initiate here 

    @Override
    public final Object receiveEvent() throws Exception {

        OrderProviderData data = null;

        // get + store the TradingInterface value "tradingIf" here   
        // set the value inside the "switch" condition      

        switch(tradingIf){

            data = new OrderProviderData();

            // set the TradingInterface here
            case value1:
               //set 
               break;  //optional  

            case value2:
              //set 
              break;  //optional  

            default:
               // some code 
         }
    }

    // varify whether the easyTrade is true 
    // set the boolean 
}
我如何正确地书写它?我也愿意接受更好的建议

  • 将enum as字段添加到类中。您只定义枚举本身。(还需要getter和setter)

    公共类OrderProviderData{

    public enum TradingInterface {CX_CLIENT, CX_SERVER, CX_ADMIN, CX_ENGINE}
    
    private boolean easyTrade = false;
    
    private TradingInterface tradingInterface;
    
    private OrderPreSelect order;
    private String[] event;
    
    public OrderPreSelect getOrder() {
        return order;
    }
    
    public void setOrder(OrderPreSelect order) {
        this.order = order;
    }
    
    public String[] getEvent() {
        return event;
    }
    
    public void setEvent(String[] event) {
        this.event = event;
    }
    
    public TradingInterface getTradingInterface() {
        return tradingInterface;
    }
    
    public void setTradingInterface(TradingInterface tradingInterface) {
        this.tradingInterface = tradingInterface;
    }
    
    }

  • 然后,您可以
    切换
    案例(即枚举的值)。您不能在
    开关
    和第一个
    案例

    @Override
    public final Object receiveEvent() throws Exception {
        Server f = new Server();
    
        switch (f.getInf()) {
        case CX_CLIENT:
            // set
            break; // optional
    
        case CX_SERVER:
            // set
            break; // optional
    
        default:
            // some code
        }
    
    }
    

    首先,您必须将
    tradinterface
    字段添加到
    OrderProviderData
    类中。第二,在切换到
    之后,您只能列出案例,而不能列出其他任何内容。看起来您是在要求我们完成您的工作,而不是针对某个特定问题进行阻止。但是,为了帮助您,您的
    receiveEvent
    方法不应该将类似事件的内容作为参数吗?您可以在其中传递
    交易界面