向上投射是否确保儿童的保护';java中的s字段?

向上投射是否确保儿童的保护';java中的s字段?,java,casting,Java,Casting,我将使用Hibernate对一些实体进行持久化 EntityClass entity = new EntityClass(); Object obj = (Object) entity; hibernateSession.persist(obj) 我能否确保原始EntityClass中的字段值将被保留 垃圾收集器是否不清除字段值 在所有其他情况下,我是否可以确保向上转换保留原始字段的值 (其他不使用hibernate的常见情况) 这是我的原始代码 Class<?> clazz =

我将使用Hibernate对一些实体进行持久化

EntityClass entity = new EntityClass();
Object obj = (Object) entity;
hibernateSession.persist(obj)
我能否确保原始EntityClass中的字段值将被保留

垃圾收集器是否不清除字段值

在所有其他情况下,我是否可以确保向上转换保留原始字段的值

(其他不使用hibernate的常见情况)

这是我的原始代码

Class<?> clazz = Class.forName(~~~); // from external file
Iterator<?> iterator = ((Iterator<?>) clazz.getConstructor(String.class).newInstance(~~~); // from external file

while (iterator.hasNext()) {
    for (JsonEntity content : (List<JsonEntity>) iterator.next()) {
        session.saveOrUpdate(content.toEntity());
    }
    session.flush();
}
transaction.commit();

Class clazz=Class.forName(~~~);//从外部文件
迭代器迭代器=((迭代器)clazz.getConstructor(String.class).newInstance(~~~);//来自外部文件
while(iterator.hasNext()){
for(JsonEntity content:(List)iterator.next()){
session.saveOrUpdate(content.toEntity());
}
session.flush();
}
commit();
  • 您不需要强制转换并传递给实体对象
  • 只要您的实体类被引用,它就不是垃圾收集吗

  • 将对象强制转换为超类不会删除原始字段/方法,但只能访问仅在超类中可用的字段/方法


向上转换引用类型(如实体)不会改变对象或其字段。您可以在此处阅读更多内容:

它也不要求您显式强制转换它,因为编译器隐式地识别该实体是Object的子类。您只需执行以下操作:

Object obj = entity;


写在正文中的代码只是一个提问的粗略代码。无论如何,答案是有用的。谢谢!
Object obj = entity;