באמצעות @Getter עבור Lombard Fields של לומבוק

1. הקדמה

פרויקט לומבוק היא ספרייה פופולרית להפחתת קומפלט של Java.

במדריך מהיר זה, נסתכל על איך זה של לומבוק @ גטר ההערה פועלת בשדות בוליאניים כדי להסיר את הצורך ליצור את שיטות הגטר המתאימות לה.

2. תלות של Maven

נתחיל בהוספת פרויקט לומבוק לזו שלנו pom.xml:

 org.projectlombok lombok 1.18.10 

3. שימוש ב- @ Getter על בוליאני שדה

בואו נגיד שאנחנו רוצים שלומבוק תיצור שיטת אקססור לשדה הבוליאני הפרטי שלנו.

אנו יכולים להוסיף הערה לשדה זה עם @ גטר:

ריצה בוליאנית פרטית @ Getter;

ולומבוק ישתמש במעבד ההערות שלו כדי ליצור רץ() שיטה בכיתה.

ועכשיו, אנו יכולים להתייחס אליו, למרות שלא כתבנו את השיטה בעצמנו:

@ מבחן ציבורי בטל כאשר BasicBooleanField_thenMethodNamePrefixedWithIsFollowedByFieldName () {LombokExamples lombokExamples = LombokExamples new (); assertFalse (lombokExamples.isRunning ()); }

3.1. א בוליאני שדה בעל שם זהה לאביזר שלו

בואו נוסיף שורת קוד נוספת כדי להפוך את הדוגמה למעט מסובכת:

@Getter בוליאני פרטי isRunning = נכון;

זה יהיה קצת מסורבל אם לומבוק ייצור שיטה שנקראת isIsRunning.

במקום זאת, לומבוק יוצר רץ כמו קודם:

@Test הציבור בטל כאשרBooleanFieldPrefixedWithIs_thenMethodNameIsSameAsFieldName () {LombokExamples lombokExamples = LombokExamples חדש (); assertTrue (lombokExamples.isRunning ()); }

3.2. שתיים בוליאני שדות עם אותו שם אביזר

לפעמים, יכולים להיות סכסוכים.

בואו נגיד שעלינו להחזיק את השורות הבאות באותה כיתה:

 @Getter ריצה בוליאנית ציבורית = נכון; @Getter בוליאני ציבורי isRunning = false;

ישנן סיבות רבות שעלינו להימנע מכינוס שמות מבלבל שכזה. אחת מהן היא שזה יוצר סכסוך עבור לומבוק.

באמצעות המוסכמה של לומבוק, לשני השדות הללו יהיה שם זהה של שיטת הגישה: רץ. אך אם יש שתי שיטות עם אותו שם באותו מחלקה תיצור שגיאת מהדר.

Lombok פותר זאת על ידי יצירת שיטת accessor אחת בלבד ובמקרה זה, הצבעה עליה רץ, מבוסס על צו הכרזת שדה:

@ מבחן ציבורי בטל כאשר TwoBooleanFieldsCauseNamingConflict_thenLombokMapsToFirstDeclaredField () {LombokExemples lombokExamples = LombokExamples new (); assertTrue (lombokExamples.isRunning () == lombokExamples.running); assertFalse (lombokExamples.isRunning () == lombokExamples.isRunning); }

4. שימוש ב- @ Getter על בוליאני שדה

עכשיו, לומבוק מתייחס ל בוליאני להקליד רק קצת אחרת.

בואו ננסה את אותה דוגמת הריצה בפעם האחרונה, אבל עם בוליאני במקום הסוג הפרימיטיבי:

ריצה בוליאנית פרטית @ Getter;

במקום ליצור רץ, לומבוק תייצר getRunning:

@ מבחן ציבורי בטל כאשר FieldOfBooleanType_thenLombokPrefixesMethodWithGetInsteadOfIs () {LombokExamples lombokExamples = LombokExamples new (); assertTrue (lombokExamples.getRunning ()); }

5. מסקנה

במאמר זה בחנו כיצד להשתמש בהערת @Getter של לומבוק עבור פרימיטיבים בוליאניים ואובייקטים בוליאניים.

וודא לבדוק את הדגימות ב- Github.


$config[zx-auto] not found$config[zx-overlay] not found