מאמר זה ירחיב על המרת 'long' ל'int' ב-Java.
מה זה 'לונג' ו'int' בג'אווה?
ה ' ארוך ' הקלד ב-Java נע בין ' -9223372036854775808 ' ל ' 922337203685477580 ' ומוקצה ' 64 ' פיסות. ה ' int 'סוג, לעומת זאת, תופס' 32 ' ביטים החל מ' -2147483648 ' ל ' 2147483647 '. זה מרמז שכל מספר של ' int ניתן לתמוך בקלות בסוגי ' ארוך ” סוג אבל זה לא תמיד המקרה רוב הזמן.
כיצד להמיר 'long' ל'int' באמצעות Java?
להמיר ' ארוך ' ל ' int ב-Java, החל את הגישות הבאות:
גישה 1: המר long ל-int ב-Java באמצעות שיטת 'Math.toIntExact()'
ה ' Math.toIntExact() השיטה בג'אווה נותנת את ' int ' ערך מהנתון המסופק ' ארוך ' טיעון. ניתן ליישם שיטה זו כדי פשוט לעבור את ' ארוך ” ערך כארגומנט שלו ולהחזיר אותו כמספר שלם.
תחביר
מתמטיקה . לIntExact ( ארוך val )
בתחביר זה, ' ארוך ואל ' מתייחס לערך שצריך להחזיר בתור ' int '.
דוגמא
בואו נסקור את הדוגמה הבאה:
פּוּמְבֵּי מעמד longtoint2 {
פּוּמְבֵּי סטָטִי בָּטֵל רָאשִׁי ( חוּט [ ] args ) {
ארוך בחירה 1 = 8624675L ;
ארוך val2 = 3482398L ;
int updateVal1 = מתמטיקה . לIntExact ( בחירה 1 ) ;
int updVal2 = מתמטיקה . לIntExact ( val2 ) ;
מערכת. הַחוּצָה . println ( 'הערך השלם הוא:' + updateVal1 ) ;
מערכת. הַחוּצָה . println ( 'הערך השלם הוא:' + updVal2 ) ;
}
}
בקטע קוד זה, בצע את השלבים הבאים:
- ראשית, אתחל את שני ' ארוך 'ערכים.
- הערה: המסויים ' ל ' בערכים מייצגים ומבדילים את ' ארוך 'ערכים מ' int 'ערכים.
- לאחר מכן, החל את ' Math.toIntExact() ” שיטה פעמיים וצבור את שני הערכים הארוכים המאוחלים, כפרמטר שלה להמיר אותם למספרים שלמים.
- לבסוף, רשום את ערכי המספרים השלמים המומרים במסוף.
תְפוּקָה
בתוצאה לעיל, ניתן לנתח שערכי המספרים השלמים המתאימים מוצגים.
הערה: תהליך ההמרה (ארוך ל-int) עובד מצוין כאשר הערך של ' ארוך ' קטן או שווה לערך המרבי של ' int ', כלומר, (2147483647). במקרה השני, נתקלת בשגיאה ויכול להיות גם אובדן נתונים.
הפגנה
הבה נתבונן במושג הנדון המוביל למגבלה:
בדוגמה לעיל, פשוט הגדל את האחרון ' ארוך ' להעריך ולבצע את ההמרה. זה יוביל למפגש עם ' גלישה נומרית מגבלה מכיוון שהערך המומר חורג מ- int 'הגבלה המקסימלית.
גישה 2: המר long ל-int ב-Java באמצעות 'Narrow Typecasting'
' Typecasting ” מתאים להקצאת ערך של סוג נתונים פרימיטיבי אחד לאחר. במקרה זה, ' צמצום הטיפוס ' נכנס לתוקף מאז סוג הנתונים הגבוה יותר, כלומר, ' ארוך ' הופך לסוג הנתונים התחתון ' int '. ניתן להשיג זאת על ידי הצבת הערך שצריך לשנות ואחריו הסוג הרצוי בסוגריים.
דוגמא
הדוגמה הבאה מסבירה את הרעיון הנדון:
פּוּמְבֵּי סטָטִי בָּטֵל רָאשִׁי ( חוּט [ ] args ) {
ארוך בחירה 1 = 647467L ;
ארוך val2 = 348 239L ;
int updateVal1 = ( int ) בחירה 1 ;
int updVal2 = ( int ) val2 ;
מערכת. הַחוּצָה . println ( 'הערך השלם הוא:' + updateVal1 ) ;
מערכת. הַחוּצָה . println ( 'הערך השלם הוא:' + updVal2 ) ;
}
}
בשורות הקוד לעיל:
- באופן דומה, אתחל את שני ' ארוך ' ערכים.
- בשלב הבא, החל את ' כתיבה צרה ' גישה על ידי הצבת הערך שיש להמיר ואחריו הסוג הרצוי, כלומר ' int '.
- לבסוף, הצג את המרה ' int ' ערכי הקונסולה.
תְפוּקָה
בפלט זה, ניתן לראות כי ' ארוך ערכים מומרים ל- int ערכים, כראוי.
גישה 3: המרת אובייקט ארוך ל-int ב-Java באמצעות שיטת 'intValue()'.
ה ' intValue() שיטת ' ב-Java מחזירה את הערך של המספר המשויך בצורה של ' int '. ניתן ליישם שיטה זו כדי פשוט להפוך את הארוך המשויך ' חפצים ' למספרים שלמים.
דוגמא
עברו על הדוגמה המופיעה למטה כדי לבצע את ההמרה:
פּוּמְבֵּי סטָטִי בָּטֵל רָאשִׁי ( חוּט [ ] args ) {
ארוך val1 = חָדָשׁ ארוך ( 8624675L ) ;
ארוך וול2 = חָדָשׁ ארוך ( 3482398L ) ;
int updateVal1 = בחירה 1. intValue ( ) ;
int updVal2 = val2. intValue ( ) ;;
מערכת. הַחוּצָה . println ( 'הערך השלם הוא:' + updateVal1 ) ;
מערכת. הַחוּצָה . println ( 'הערך השלם הוא:' + updVal2 ) ;
}
}
בגוש הקוד שלמעלה:
- קודם כל, צור שני ' ארוך ' חפצים באמצעות ' חָדָשׁ ' מילת המפתח וה' ארוך() 'קונסטרוקטור, בהתאמה.
- בפרמטרי הבנאי, ציין את הערכים הארוכים שיש להפוך ל' int '.
- כעת, שייך את ' intValue() שיטת ' עם שני האובייקטים שנוצרו והמירו את ' ארוך 'ערכים לתוך' מספרים שלמים ' ולהציג אותם.
תְפוּקָה
התוצאה לעיל מרמזת שערכי האובייקט מומרים ל' מספרים שלמים ' כראוי.
סיכום
כדי להמיר long ל-int ב-Java, החל את ' Math.toIntExact() שיטת ', ה' Typecasting צר הגישה ', או ה' intValue() ' שיטה. גישות אלו הופכות את הערך והאובייקט הארוך המאתחלים למספר שלם בתנאי ש' ארוך ' הערך שיש להמיר אינו חורג מהערך המרבי של ' int '. בלוג זה מודרך להמרת long ל-int באמצעות Java.