我想知道它们在JAVA的方法“ BeanUtils.CopyProperties(bean1,Bean2);”的目标C中是否等效。 ?
或其他解决方案,我想将motherObject强制转换为childObject:
@interface motherBean : NSObject{ ...}
@interface childBean : motherBean { ...}
motherBean m = [motherBean new];
childBean f = m;
在第一个测试中,它可以工作,但是我有一个警告:“不兼容的指针类型返回...”;
我使用WSDL2Objc并生成Bean,并且其名称可以在2代之间更改:-/
我更喜欢与孩子一起工作,只是在她的定义中更改名字
谢谢
安东尼
最佳答案
看一下commons-beanutils包。它有很多属性方法供您复制内容。尤其是:
PropertyUtils.copyProperties(bean1, bean2);
但是,关于第二个问题,您是否试图将父类的实例转换为子类?
我不确定在任何OO语言中这怎么合法。当然可以强制转换:
// 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 - 等效于BeanUtils.copyProperties的Objective c。,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10884218/