我有两个对象A和B:
public class A {
@SerializedName("idProject")
private int id;
@SerializedName("nameProject")
private String name;
//with setter and getters and other methods
}
///////////////////////////////////////////////
public class B {
@SerializedName("idMenu")
private int id;
@SerializedName("nameMenu")
private String name;
//with setter and getters and other methods
}
这些对象是通过服务中的json填充的。我可以使用该服务没有问题。 但是在我的代码的另一部分中,我有一个方法需要这样的对象:
public void method(C c){
....
}
public class C {
private int id;
private String name;
//with setter and getters and other methods
}
如何将对象A或B传递给仅接受C类型对象的方法?
答案 0 :(得分:1)
据我所知,您希望在此处进行类型转换行为。由于无法在Java中将对象A或B转换为C,因此必须在A和B中实现为您提供等效C对象的方法。
class A {
//...
C C() {
return new C(id, name);
}
}
class B {
//...
C C() {
return new C(id, name);
}
}
class C {
//...
C(int id, String name) {
this.id = id;
this.name = name;
}
}
现在,您可以轻松地调用C()
方法来获取等效的class C
实例并将其传递给指定的方法。
method(objA.C());