我想知道它们在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/

10-10 23:31