java类型属性set方法无法被赋值

前言

遇到一个基础的问题 方法设置属性值 失败

问题代码

有个内部类的User对象 分别使用 方式一和 方式二 设置User的属性值 发现方式一的属性并不能被设置成功 可以自行测试下

java 复制代码
public class Test{
    public static void main(String[] args) {
		#方式一 
        User user= new User();
        user.setName("123");
        log.info("user:{}",user.getName());

        #方式二
        User user2= new User()
                .setName("123");
        
        log.info("user2:{}",user2.getName());
        
    }


    @AllArgsConstructor
    @NoArgsConstructor
    static class User{
        private String name;

        public String getName() {
            return name;
        }

        public User setName(String name){
            return new User(name);
        }
    }

}

解决

由于使用@data这种方式的注解过多 导致遇到这种 直接返回this的 设置属性方式 慢慢忘却了。

方式一的正确赋值方式

java 复制代码
#方式一 
User user= new User();
user = user.setName("123");
log.info("user:{}",user.getName());

或者直接使用Builder 来创建对象

相关推荐
迷路爸爸1801 分钟前
无sudo权限远程连接Ubuntu服务器安装TeX Live实操记录(适配VS Code+LaTeX Workshop,含路径选择与卸载方案)
java·服务器·ubuntu·latex
有梦想的攻城狮14 分钟前
maven中的os-maven-plugin插件的使用
java·maven·maven插件·os-maven-plugin·classifer
Carry灭霸20 分钟前
【BUG】Redisson Connection refused 127.0.0.1
java·redis
消失的旧时光-194325 分钟前
第九课实战版:异常与日志体系 —— 后端稳定性的第一道防线
java·后端
钦拆大仁26 分钟前
Java设计模式-状态模式
java·设计模式·状态模式
人道领域29 分钟前
javaWeb从入门到进阶(SpringBoot基础案例2)
java·开发语言·mybatis
BHXDML29 分钟前
数据结构:(二)逻辑之门——栈与队列
java·数据结构·算法
码农水水42 分钟前
米哈游Java面试被问:Shenandoah GC的Brooks Pointer实现机制
java·开发语言·jvm·spring boot·redis·安全·面试
星辰_mya1 小时前
Netty
java·架构·io
九皇叔叔1 小时前
【06】SpringBoot3 MybatisPlus 修改(Mapper)
java·spring boot·mybatis·mybatisplus