Java 将一个类的对象复制到另一个类的对象…noob
我试图让用户选择在哪个类上执行函数。 假设有两个类包含对象A和B 函数使用像obj.get和obj.set这样的函数。 我想在A和B之间进行选择,并将其复制到obj 有办法吗。 问题: A=Obj…不工作 若我使用Switch case或任何循环,并将Obj声明为所选类的对象,那个么范围就会出现问题 请帮忙!!Java 将一个类的对象复制到另一个类的对象…noob,java,object,copy,Java,Object,Copy,我试图让用户选择在哪个类上执行函数。 假设有两个类包含对象A和B 函数使用像obj.get和obj.set这样的函数。 我想在A和B之间进行选择,并将其复制到obj 有办法吗。 问题: A=Obj…不工作 若我使用Switch case或任何循环,并将Obj声明为所选类的对象,那个么范围就会出现问题 请帮忙!! 两个类都有完全相同的变量和方法。如果两个对象A和B都属于同一个类,就这样做: 事实上,如果A和B有完全相同的字段和方法,那么它们应该属于同一个类,如果它是一个真正的程序 MyClass
两个类都有完全相同的变量和方法。如果两个对象A和B都属于同一个类,就这样做: 事实上,如果A和B有完全相同的字段和方法,那么它们应该属于同一个类,如果它是一个真正的程序
MyClass A,B;
//...
A = copy(B);
/*
*
*
*
*
*/
MyClass copy(MyClass arg) {
MyClass result = new MyClass();
result.field1 = arg.field1;
result.field2 = arg.field2;
//........
return result
}
或者重写MyClass中的clone方法。
注意:大多数人都同意Java的克隆已被破坏。您可以在《有效的Java第二版》第11项:明智地覆盖克隆中阅读更多关于该主题的讨论。他建议使用复制构造函数或复制工厂。 我看到你标记了java和C++,你用哪个? 你的陈述很难理解,但如果我是对的,你有以下几点:
ClassA A = new ClassA()
ClassB B = new ClassB()
你想把东西从obj A复制到obj B?使用以下命令:
B.set(A.get());
如果你使用C++,那么你可以通过这样做来识别类的名称,
#include <typeinfo>.
..
..
..
.
cout << typeid(objA).name() << endl;
我相信您在根据用户输入识别类时遇到问题。。。
在这种情况下,typeid将起作用。只需检查用户选择的类以及基于输入的任务。我只想创建一个对象,具体取决于用户的选择。这将复制内容。我想让其他类的对象指向第一类的变量,这是可能的吗?