gpt4 book ai didi

java - 相当于 Objective c 中的 BeanUtils.copyProperties。

转载 作者:行者123 更新时间:2023-12-01 05:18:09 24 4
gpt4 key购买 nike

我想知道他们在 Objective C 中是否有 JAVA 方法“BeanUtils.CopyProperties(bean1, Bean2);”的等效方法?

或者其他解决方案,我想将 motherObject 转换为 childObject :

@interface motherBean : NSObject{ ...}
@interface childBean : motherBean { ...}

motherBean m = [motherBean new];
childBean f = m;

通过第一个测试,它可以工作,但我有一个警告:“不兼容的指针类型返回...”;

<小时/>

我使用 WSDL2Objc,它生成 bean,并且它的名称可以在 2 代之间更改:-/

我更喜欢与 child 一起工作,只需更改她定义中的名称

谢谢

安东尼

最佳答案

看一下 commons-beanutils 包。它有很多属性方法供您复制内容。特别是:

PropertyUtils.copyProperties(bean1, bean2);

但是,对于你的第二个问题,你试图将父类的实例向下转换为子类?

我不确定这在任何面向对象语言中都是合法的。当然你可以强制施放:

// This is not legal because you can't case from one class to anther
// unless the actual instance type (not the declared type of the variable,
// but the constructed type) is either the casted class or a subclass.
Parent p = new Parent();
Child c = (Child) p;

但是您会得到 ClassCastException ,因为您不能将父类的实例视为子类(只能反过来)。然而,其中任何一个都是合法的:

// This is legal because you're upcasting, which is fine
Child c = new Child();
Parent p = c;

// This is legal because the instance "p" is actually an
// instance of the "Child" class, so the downcast is legal.
Parent p = new Child();
Child c = (Child) p;

关于java - 相当于 Objective c 中的 BeanUtils.copyProperties。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10884218/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com