private String test(){
User user = new User();
//方法一
assignment_One(user, 30);
System.out.println(JSON.toJSON(user));
//方法二
user = assignment_Two(user, 30);
System.out.println(JSON.toJSON(user));
}
private void assignment_One(User user, int age){
//内部逻辑处理
user.setUserAge(age);
user.setUserName("我");
if(age > 30){
user.setMsg("年龄比较大");
}else{
user.setMsg("年龄正好");
}
}
private User assignment_Two(User user,int age){
//内部逻辑处理
User newUser = new User();
newUser.setUserName("我");
newUser.setUserAge(age);
if(age > 30){
newUser.setMsg("年龄比较大");
}else{
newUser.setMsg("年龄正好");
}
return newUser;
}
第二种方案较好,另外第二方案的入参不再需要user
第二种较好,可读性较好,容易移植和重用
你的问题在于,你到底是通过修改传入的User来赋值还是返回值。assignment_Two写得驴头不对马嘴。
要么是
private void assignment_Two(User user,int age){
//内部逻辑处理
user.setUserName("我");
user.setUserAge(age);
if(age > 30){
user.setMsg("年龄比较大");
}else{
user.setMsg("年龄正好");
}
}
那么
User user = new User();
//方法一
assignment_One(user, 30);
要么是
private User assignment_Two(int age){
//内部逻辑处理
User newUser = new User();
newUser.setUserName("我");
newUser.setUserAge(age);
if(age > 30){
newUser.setMsg("年龄比较大");
}else{
newUser.setMsg("年龄正好");
}
return newUser;
}
那么
//去掉 User user = new User();
User user =assignment_Two(30);