java - 将子类转换为另一个子类

标签 java jakarta-ee ejb

如何将子类转换为具有相同父类(super class)的另一个子类?我知道它不允许直接从子类转换到子类。还有其他方法吗? ID被设置到父类(super class)中,因此创建新对象不太好;我将它用于状态模式。如果状态改变,那么类的类型也应该改变。

@Entity
public class Request() {}

@Entity
public class OpenRequest extends Request() {}

@Entity 
public class CloseRequest extends Request() {}

谢谢

最佳答案

这是不可能的。如果您能做到这一点,那么您始终可以将任何引用强制转换为任何其他类,因为所有类都是 Object 的子类。
您必须创建所需类的新实例,并手动传输信息。

关于java - 将子类转换为另一个子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13253042/

相关文章:

java - 使用 JPA EntityManager 批量插入

java - Windows 7 命令提示符 : Typing android. bat 返回 java.exe 选项

java - JSON数据问题

jakarta-ee - 未调用 Java EE 调度程序

java - 使用@OneToOne属性设置对象可以,但不适用于@ManyToMany对象

java拦截器不拦截

java - 创建 URL 中定义的名称为 'repositorySearchController' 的 bean 时出错

java - 使用 Zerocode 运行 Junit 测试套件

java - 尽管显示值从方法 block 内部更改,但从 setter 设置私有(private)值 "balance"时出错

java - 在 JBoss 7.1.1 中使用 EJB 3.1 调用 Struts 2 Action 时获得 Struts 报告