簡體   English   中英

Lombok 不生成 getter 和 setter?

[英]Lombok not generating getter and setter?

第一次使用 lombok,如果我理解正確,lomboks getter 和 setter 注釋生成 setter 和 getter 方法而無需對其進行編碼,但由於某種原因,每當我嘗試調用時我都會收到“未定義方法”錯誤getter/setter 方法。

這里出了什么問題?

import lombok.Getter;
import lombok.Setter;

public class Student {
    @Getter @Setter
    private String firstName;
    @Getter @Setter
    private String lastName;
    
    public Student(String firstName, String lastName) {
        super();
        this.setFirstName(firstName); // method undefined error here
        this.setLastName(lastName);   // method undefined error here
    }
}

您的代碼應該是這樣工作的,您是否在 EDI 上安裝了 lombok 的插件?

Lombok 沒有安裝在我的 IDE 中。

安裝它解決了這個問題。

另一種簡單的方法是使用@Data注釋,它為 class 中的每個屬性生成 getter 和 setter。

import lombok.Data;

@Data
public class Student {
    private String firstName;
    private String lastName;
    
    public Student(String firstName, String lastName) {
        super();
        this.setFirstName(firstName);
        this.setLastName(lastName);
    }
}

快速說明:導入某些東西不會使用它。 它只是告訴程序可以使用某些東西。 如果您使用的是現代 Java IDE(VSCode 或 IntelliJ),類、注釋等將在您使用時自動導入。

|*| 啟用注釋處理:

|*> 來自 Lombok 的@Data 開始工作

|+> 在頂部欄中單擊“項目

|+> 點擊“屬性”

|+> 在左側菜單欄中 -> 轉到“Maven”

|+> Select《注解處理》

|+> [O] 選中“啟用項目特定設置”

|+> 點擊“應用”

試試這樣

@Getter
 @Setter
public class Student {
   
    private String firstName;
    
    private String lastName;
    
    public Student(String firstName, String lastName) {
    
        this.setFirstName(firstName); 
        this.setLastName(lastName);  
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM