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 来创建对象

相关推荐
山荷枝1 小时前
03-框架--Spring
java·后端·spring
ChaHae-In1 小时前
SpringBoot统一功能处理
java·spring boot·后端
coder!mq2 小时前
说几个常见的语法糖?
java·开发语言·算法
gugucoding2 小时前
38. 【Java】Stream API(下):高级操作与性能
java·开发语言
心平气和量大福大2 小时前
android-实例-蒲公英-更新与安装-5-签名与生成APK
android·java·开发语言
952363 小时前
Spring-cloud配置中心
java·spring·spring cloud·微服务
ydd1001003 小时前
寻找两个正序数组的中位数 Java 题解,二分分割详解
java·开发语言
真上帝的左手4 小时前
10. 软件设计&架构-Spring Security 7 整合CAS SSO 单点登录
java·spring·架构·sso
Zane19945 小时前
单例线程安全、生产者消费者、死锁:并发面试三连问串讲
java·后端
云烟成雨TD5 小时前
Micrometer 系列【42】链路追踪:Span 体系 | 核心 API
java·链路追踪·micrometer