写的一个方法返回多个对象的情况,抽取代码时挺有用的
2个对象
public class ObjArr2<O1, O2> {
private O1 object1;
private O2 object2;
public ObjArr2(O1 object1, O2 object2) {
this.object1 = object1;
this.object2 = object2;
}
public O1 object1() {
return object1;
}
public O2 object2() {
return object2;
}
}
三个对象
public class ObjArr3<O1, O2, O3> {
private O1 object1;
private O2 object2;
private O3 object3;
public ObjArr3(O1 object1, O2 object2, O3 object3) {
this.object1 = object1;
this.object2 = object2;
this.object3 = object3;
}
public O1 getObject1() {
return object1;
}
public O2 getObject2() {
return object2;
}
public O3 getObject3() {
return object3;
}
}
public class ObjArr4<O1, O2, O3, O4> {
private O1 object1;
private O2 object2;
private O3 object3;
private O4 object4;
public ObjArr4(O1 object1, O2 object2, O3 object3, O4 object4) {
this.object1 = object1;
this.object2 = object2;
this.object3 = object3;
this.object4 = object4;
}
public O1 getObject1() {
return object1;
}
public O2 getObject2() {
return object2;
}
public O3 getObject3() {
return object3;
}
public O4 getObject4() {
return object4;
}
}
...........
public void methed(){
ObjArr2<User, String> userMobile = findUserAndMobile(account, password);
User user = userMobile.object1();
String mobile = userMobile.object2();
}
...................................
private ObjArr2<User, String> findUserAndMobile(String account, String password) {
String mobile = null;
User user = null;
........................
........................
........................
return new ObjArr2<>(user, mobile);
}