java - 如何使用将枚举传递给 DTO

标签 java enums dto

我正在传递一个 DTO,其实例变量之一应为 ENUM 类型。然而,枚举是在另一个类中定义的,该类创建 DTO。

简短摘要:

public class Node {
    Enum nodeType; <--- should belong 
    Node (Enum nodeType) {
        this.nodeType = nodeType;
    }
}


public class CreateNode {
   Enum { TEXT_NODE, ATTR_NODE };

   Node returnNode() {
      // return node of Enum TEXT_NODE.
   } 

 }

现在,

  1. 如何在 CreateNode 和 Node 之间共享枚举?

  2. Node 的“接收者”应该如何接收其中一种类型为 enum 的节点?

最佳答案

您需要为您的枚举起一个名称。

enum NodeType { // Name of the enum is NodeType
    TEXT_NODE, ATTR_NODE
}
class Node {
    NodeType nodeType; // A field of type NodeType
    public Node(NodeType nodeType) {
        this.nodeType = nodeType;
    }
}
class CreateNode {
    Node returnNode() {
        return new Node(NodeType.TEXT_NODE); // return the TEXT_NODE
    }
}

为了能够获取在其他类/方法中设置了此 NodeType 的节点,您可以执行以下操作

// In some class
// In some method
public void someMethod(){
    Node nodeWithEnumType = new CreateNode().returnNode();
    // Other stuffs
}

关于java - 如何使用将枚举传递给 DTO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19673643/

相关文章:

java - Spring Boot请求和线程分配

java - 动态地将数据存储在数组中

没有打开窗口的Java Keylistener?

javac 显示没有警告的错误

java - 如何使用 id 检索枚举名称?

c# - DTO 是否应该包含其他 DTO,或者这是否构成 'behaviour'?

c# - 为什么我的 DTO 为空?

arrays - Swift:使用枚举的原始值访问 UIButton 和常量数组中的字符串是个好主意吗?

java - 如何在java中使用for或while方法调用枚举?

java - 声明同名对象时出错,但如果我们声明对象使用for循环则不会出错