באמצעות @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.