1. 程式人生 > 其它 >java中使用Lombok 新增@Data註解後,又手動重寫Setter方法問題?(已解決)

java中使用Lombok 新增@Data註解後,又手動重寫Setter方法問題?(已解決)

技術標籤:javalombok經驗分享

java中使用Lombok 新增@Data註解後,又手動重寫Getter方法


結論:以手動重寫的Getter方法為準。

測試程式碼:

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

public class LombokTest {
    public static void main(String[] args) {
    	// 初始化通過構造方法,所以可以傳遞負值
        Test01 test01 = new
Test01(-100); System.out.println(test01.getTest()); System.out.println("------------------"); // 測試是否可以賦值負數 test01.setTest(-10); System.out.println(test01.getTest()); System.out.println("------------------"); // 測試是否可以正常賦值 test01.
setTest(10); System.out.println(test01.getTest()); } } @Data @AllArgsConstructor @NoArgsConstructor class Test01 { private int test ; /** * @param test * * 自定義Setter方法,不允許set(賦值)負數 */ public void setTest(int test) { // 判斷:賦值正數才能賦值成功,以此區別 @Data的set方法
if (test > 0 ) { this.test = test; // 如果賦值成功列印賦值成功 System.out.println("set OK"); } } }

測試結果
在這裡插入圖片描述

第一個-100:通過構造器例項化的Test01物件,因此可以賦值成功負數。

第二個-100:通過set方法賦值負數-10,這裡賦值失敗,所以判斷這裡的呼叫的是手動建立的set方法。

第三個10:通過set方法賦值正數10,賦值成功,並且打印出set OK,進一步驗證呼叫的是手動建立的set方法,且set方法無誤。