JAVAPRO_IR Telegram 4426
✍️ آشنایی با Lombok @Data در جاوا

در برنامه‌نویسی جاوا معمولاً وقتی یک کلاس مدل (Model/Entity) می‌نویسیم، نیاز به نوشتن مقدار زیادی کد تکراری داریم مثل:

متدهای getter و setter

متد toString()

متدهای equals() و hashCode()


این کار هم وقت‌گیر است و هم باعث شلوغ شدن کلاس می‌شود.

🔹 کتابخانه Lombok یک کتابخانه کاربردی است که با استفاده از Annotations کدهای تکراری را به صورت خودکار تولید می‌کند.

📌 نقش @Data

وقتی روی یک کلاس از @Data استفاده می‌کنیم، Lombok به طور خودکار موارد زیر را برای ما تولید می‌کند:

1. همه‌ی getter و setter ها برای فیلدها


2. متد toString()


3. متد equals() و hashCode()


4. یک constructor برای فیلدهای final

مثال ساده
import lombok.Data;

@Data
public class User {
    private String name;
    private int age;
}

🔹 معادل کدی که Lombok در پشت صحنه تولید می‌کند (بدون اینکه شما بنویسید):
public class User {
    private String name;
    private int age;

    // Getters & Setters
    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
    public int getAge() { return age; }
    public void setAge(int age) { this.age = age; }

    // toString
    @Override
    public String toString() {
        return "User(name=" + name + ", age=" + age + ")";
    }

    // equals & hashCode
    @Override
    public boolean equals(Object o) { /* کد تولیدشده */ }
    @Override
    public int hashCode() { /* کد تولیدشده */ }
}

🎯 استفاده در عمل
public class Main {
    public static void main(String[] args) {
        User u1 = new User();
        u1.setName("Saleh");
        u1.setAge(23);

        System.out.println(u1);
        // خروجی: User(name=Saleh, age=23)

        User u2 = new User();
        u2.setName("Saleh");
        u2.setAge(23);

        System.out.println(u1.equals(u2));
        // true چون Lombok خودش equals و hashCode را نوشته
    }
}

⚠️ نکته مهم

برای اینکه Lombok کار کند باید:

1. کتابخانه Lombok را به پروژه اضافه کنید.

در Maven:
<dependency>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
  <version>1.18.30</version>
  <scope>provided</scope>
</dependency>

در Gradle:
compileOnly 'org.projectlombok:lombok:1.18.30'
annotationProcessor 'org.projectlombok:lombok:1.18.30'

2. پلاگین Lombok را در IDE (مثل IntelliJ یا Eclipse) فعال کنید.

نتیجه: با @Data شما می‌توانید کلاس‌های تمیزتر، خواناتر و کوتاه‌تر بنویسید بدون نیاز به نوشتن کدهای تکراری.

#کاربرـحرفهـای


🆔 @javapro_ir
🆔 @group_javapro
👍54💯2



tgoop.com/javapro_ir/4426
Create:
Last Update:

✍️ آشنایی با Lombok @Data در جاوا

در برنامه‌نویسی جاوا معمولاً وقتی یک کلاس مدل (Model/Entity) می‌نویسیم، نیاز به نوشتن مقدار زیادی کد تکراری داریم مثل:

متدهای getter و setter

متد toString()

متدهای equals() و hashCode()


این کار هم وقت‌گیر است و هم باعث شلوغ شدن کلاس می‌شود.

🔹 کتابخانه Lombok یک کتابخانه کاربردی است که با استفاده از Annotations کدهای تکراری را به صورت خودکار تولید می‌کند.

📌 نقش @Data

وقتی روی یک کلاس از @Data استفاده می‌کنیم، Lombok به طور خودکار موارد زیر را برای ما تولید می‌کند:

1. همه‌ی getter و setter ها برای فیلدها


2. متد toString()


3. متد equals() و hashCode()


4. یک constructor برای فیلدهای final

مثال ساده

import lombok.Data;

@Data
public class User {
    private String name;
    private int age;
}

🔹 معادل کدی که Lombok در پشت صحنه تولید می‌کند (بدون اینکه شما بنویسید):
public class User {
    private String name;
    private int age;

    // Getters & Setters
    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
    public int getAge() { return age; }
    public void setAge(int age) { this.age = age; }

    // toString
    @Override
    public String toString() {
        return "User(name=" + name + ", age=" + age + ")";
    }

    // equals & hashCode
    @Override
    public boolean equals(Object o) { /* کد تولیدشده */ }
    @Override
    public int hashCode() { /* کد تولیدشده */ }
}

🎯 استفاده در عمل
public class Main {
    public static void main(String[] args) {
        User u1 = new User();
        u1.setName("Saleh");
        u1.setAge(23);

        System.out.println(u1);
        // خروجی: User(name=Saleh, age=23)

        User u2 = new User();
        u2.setName("Saleh");
        u2.setAge(23);

        System.out.println(u1.equals(u2));
        // true چون Lombok خودش equals و hashCode را نوشته
    }
}

⚠️ نکته مهم

برای اینکه Lombok کار کند باید:

1. کتابخانه Lombok را به پروژه اضافه کنید.

در Maven:
<dependency>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
  <version>1.18.30</version>
  <scope>provided</scope>
</dependency>

در Gradle:
compileOnly 'org.projectlombok:lombok:1.18.30'
annotationProcessor 'org.projectlombok:lombok:1.18.30'

2. پلاگین Lombok را در IDE (مثل IntelliJ یا Eclipse) فعال کنید.

نتیجه: با @Data شما می‌توانید کلاس‌های تمیزتر، خواناتر و کوتاه‌تر بنویسید بدون نیاز به نوشتن کدهای تکراری.

#کاربرـحرفهـای


🆔 @javapro_ir
🆔 @group_javapro

BY برنامه نویسی جاوا | Java


Share with your friend now:
tgoop.com/javapro_ir/4426

View MORE
Open in Telegram


Telegram News

Date: |

best-secure-messaging-apps-shutterstock-1892950018.jpg To edit your name or bio, click the Menu icon and select “Manage Channel.” Among the requests, the Brazilian electoral Court wanted to know if they could obtain data on the origins of malicious content posted on the platform. According to the TSE, this would enable the authorities to track false content and identify the user responsible for publishing it in the first place. With the sharp downturn in the crypto market, yelling has become a coping mechanism for many crypto traders. This screaming therapy became popular after the surge of Goblintown Ethereum NFTs at the end of May or early June. Here, holders made incoherent groaning sounds in late-night Twitter spaces. They also role-played as urine-loving Goblin creatures. Today, we will address Telegram channels and how to use them for maximum benefit.
from us


Telegram برنامه نویسی جاوا | Java
FROM American