裝配式建筑網(wǎng)站打廣告
前言
遇到一個(gè)基礎(chǔ)的問題 方法設(shè)置屬性值 失敗
問題代碼
有個(gè)內(nèi)部類的User對象 分別使用 方式一和 方式二 設(shè)置User的屬性值 發(fā)現(xiàn)方式一的屬性并不能被設(shè)置成功 可以自行測試下
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@NoArgsConstructorstatic class User{private String name;public String getName() {return name;}public User setName(String name){return new User(name);}}}
解決
由于使用@data這種方式的注解過多 導(dǎo)致遇到這種 直接返回this的 設(shè)置屬性方式 慢慢忘卻了。
方式一的正確賦值方式
#方式一
User user= new User();
user = user.setName("123");
log.info("user:{}",user.getName());
或者直接使用Builder 來創(chuàng)建對象