ஜாவாவில் நீண்ட எண்ணாக மாற்றுவது எப்படி

Javavil Ninta Ennaka Marruvatu Eppati



ஜாவாவில், டெவலப்பர் நினைவகத்தை திறம்பட சேமிக்க வேண்டிய சில சூழ்நிலைகள் இருக்கலாம். எடுத்துக்காட்டாக, ஒப்பீட்டளவில் சிறிய அளவிலான மதிப்புகளைக் கொண்ட தரவு வகையை ஒதுக்குதல் அல்லது கூடுதல் மதிப்புகளை அகற்றுதல். அத்தகைய சந்தர்ப்பங்களில், ' நீளமானது ” முதல் ” முழு எண்ணாக' ஜாவாவில் எண்கணித செயல்பாடுகள், குறியீட்டு சிக்கலானது மற்றும் ஒப்பீட்டளவில் குறைவான செயலாக்க நேரம் ஆகியவற்றை ஒழுங்குபடுத்துவதன் மூலம் நடைமுறைக்கு வருகிறது.

இந்தக் கட்டுரை ஜாவாவில் 'நீண்ட' என்பதை 'int' ஆக மாற்றுவது பற்றி விரிவாகக் கூறுகிறது.

ஜாவாவில் 'நீண்ட' மற்றும் 'int' என்றால் என்ன?

' நீளமானது 'ஜாவா வரம்பில் வகை' இலிருந்து -9223372036854775808 ” முதல் ” 922337203685477580 ' மற்றும் ஒதுக்கப்பட்டுள்ளது ' 64 ” பிட்கள். ' முழு எண்ணாக 'வகை, இருப்பினும், ஆக்கிரமிக்கிறது' 32 'பிட்கள்' வரை -2147483648 ” முதல் ” 2147483647 ”. இது எந்த எண்ணையும் குறிக்கிறது ' முழு எண்ணாக 'வகைகளை எளிதாக ஆதரிக்க முடியும்' நீளமானது ” வகை ஆனால் அது எப்போதும் பெரும்பாலான நேரங்களில் இல்லை.







ஜாவாவைப் பயன்படுத்தி 'நீண்ட' என்பதை 'int' ஆக மாற்றுவது எப்படி?

மாற்று ' நீளமானது ” முதல் ” முழு எண்ணாக ஜாவாவில், பின்வரும் அணுகுமுறைகளைப் பயன்படுத்தவும்:



அணுகுமுறை 1: “Math.toIntExact()” முறையைப் பயன்படுத்தி ஜாவாவில் நீளத்தை முழு எண்ணாக மாற்றவும்

' Math.toIntExact() 'ஜாவாவில் உள்ள முறை' கொடுக்கிறது முழு எண்ணாக 'வழங்கப்பட்டதிலிருந்து மதிப்பு' நீளமானது ” வாதம். இந்த முறையை எளிமையாக அனுப்ப பயன்படுத்தலாம் ' நீளமானது ” மதிப்பை அதன் வாதமாக மாற்றி அதை முழு எண்ணாக திருப்பி அனுப்பவும்.



தொடரியல்





கணிதம் . IntExact ( நீளமானது மதிப்பு )

இந்த தொடரியல், ' நீண்ட val ” என்பது திரும்பப் பெற வேண்டிய மதிப்பைக் குறிக்கிறது முழு எண்ணாக ”.

உதாரணமாக
பின்வரும் உதாரணத்தை மேலோட்டமாகப் பார்ப்போம்:



பொது வர்க்கம் லாங்டோயிண்ட்2 {
பொது நிலையான வெற்றிடமானது முக்கிய ( லேசான கயிறு [ ] args ) {
நீளமானது தேர்வு1 = 8624675L ;
நீளமானது மதிப்பு2 = 3482398L ;
முழு எண்ணாக updateVal1 = கணிதம் . IntExact ( தேர்வு1 ) ;
முழு எண்ணாக updVal2 = கணிதம் . IntExact ( மதிப்பு2 ) ;
அமைப்பு. வெளியே . println ( 'முழு மதிப்பு:' + updateVal1 ) ;
அமைப்பு. வெளியே . println ( 'முழு மதிப்பு:' + updVal2 ) ;
}
}

இந்த குறியீடு துணுக்கில், பின்வரும் படிகளைச் செய்யவும்:

  • முதலில், இரண்டையும் துவக்கவும் ' நீளமானது 'மதிப்புகள்.
  • குறிப்பு: குறிப்பிடப்பட்ட ' எல் 'மதிப்புகளில்' குறிக்கின்றன மற்றும் வேறுபடுத்துகின்றன நீளமானது 'இலிருந்து மதிப்புகள்' முழு எண்ணாக 'மதிப்புகள்.
  • அதன் பிறகு, விண்ணப்பிக்கவும் ' Math.toIntExact() ” முறை இரண்டு முறை மற்றும் துவக்கப்பட்ட நீண்ட மதிப்புகள் இரண்டையும் அதன் அளவுருவாக முழு எண்களாக மாற்றவும்.
  • இறுதியாக, மாற்றப்பட்ட முழு எண் மதிப்புகளை கன்சோலில் பதிவு செய்யவும்.

வெளியீடு

மேலே உள்ள முடிவில், தொடர்புடைய முழு எண் மதிப்புகள் காட்டப்படுவதை பகுப்பாய்வு செய்யலாம்.

குறிப்பு: மாற்றும் (நீண்ட எண்ணாக) செயல்முறை நன்றாக வேலை செய்யும் போது ' நீளமானது 'இன் அதிகபட்ச மதிப்பை விட குறைவாகவோ அல்லது சமமாகவோ உள்ளது' முழு எண்ணாக ”, அதாவது, (2147483647). மற்றொரு வழக்கில், ஒரு பிழை ஏற்பட்டது மற்றும் தரவு இழப்பும் இருக்கலாம்.

ஆர்ப்பாட்டம்
வரம்புக்கு வழிவகுக்கும் விவாதிக்கப்பட்ட கருத்தை அவதானிப்போம்:

மேலே உள்ள எடுத்துக்காட்டில், பிந்தையதை அதிகரிக்கவும் ' நீளமானது 'மதிப்பு மற்றும் மாற்றத்தை செய்யவும். இது சந்திப்பதற்கு வழிவகுக்கும் ' முழு எண் வழிதல் மாற்றப்பட்ட மதிப்பு 'ஐ மீறுவதால் வரம்பு' முழு எண்ணாக ”அதிகபட்ச வரம்பு.

அணுகுமுறை 2: 'நெரோ டைப்காஸ்டிங்' பயன்படுத்தி ஜாவாவில் நீளத்தை முழு எண்ணாக மாற்றவும்

' தட்டச்சு செய்தல் ” என்பது ஒரு பழமையான தரவு வகையின் மதிப்பை மற்றொன்றுக்கு ஒதுக்குவதை ஒத்துள்ளது. இந்த வழக்கில், ' குறுகலான தட்டச்சு ' உயர் தரவு வகையிலிருந்து நடைமுறைக்கு வருகிறது, அதாவது, ' நீளமானது 'குறைந்த தரவு வகையாக மாற்றப்படுகிறது' முழு எண்ணாக ”. மாற்றப்பட வேண்டிய மதிப்பைத் தொடர்ந்து அடைப்புக்குறிக்குள் விரும்பிய வகையை வைப்பதன் மூலம் இதை அடைய முடியும்.

உதாரணமாக
பின்வரும் உதாரணம் விவாதிக்கப்பட்ட கருத்தை விளக்குகிறது:

பொது வர்க்கம் லாங்டோயின்ட் {
பொது நிலையான வெற்றிடமானது முக்கிய ( லேசான கயிறு [ ] args ) {
நீளமானது தேர்வு1 = 647467L ;
நீளமானது மதிப்பு2 = 348 239L ;
முழு எண்ணாக updateVal1 = ( முழு எண்ணாக ) தேர்வு1 ;
முழு எண்ணாக updVal2 = ( முழு எண்ணாக ) மதிப்பு2 ;
அமைப்பு. வெளியே . println ( 'முழு மதிப்பு:' + updateVal1 ) ;
அமைப்பு. வெளியே . println ( 'முழு மதிப்பு:' + updVal2 ) ;
}
}

மேலே உள்ள குறியீட்டு வரிகளில்:

  • அதேபோல், இரண்டையும் துவக்கவும் ' நீளமானது 'மதிப்புகள்.
  • அடுத்த கட்டத்தில், ' குறுகிய தட்டச்சு 'மாற்றப்பட வேண்டிய மதிப்பைத் தொடர்ந்து விரும்பிய வகையை வைப்பதன் மூலம் அணுகுமுறை, அதாவது,' முழு எண்ணாக ”.
  • கடைசியாக, மாற்றப்பட்டதைக் காண்பி முழு எண்ணாக கன்சோலில் உள்ள மதிப்புகள்.

வெளியீடு

இந்த வெளியீட்டில், ' நீளமானது 'மதிப்புகள்' ஆக மாற்றப்படுகின்றன முழு எண்ணாக 'மதிப்புகள், பொருத்தமானது.

அணுகுமுறை 3: 'intValue()' முறையைப் பயன்படுத்தி ஜாவாவில் நீண்ட பொருளை முழு எண்ணாக மாற்றவும்

' intValue() 'ஜாவாவில் உள்ள முறையானது தொடர்புடைய எண்ணின் மதிப்பை' வடிவத்தில் வழங்குகிறது. முழு எண்ணாக ”. தொடர்புடைய நீளத்தை எளிமையாக மாற்ற இந்த முறை செயல்படுத்தப்படலாம் ' பொருள்கள் ” முழு எண்களாக.

உதாரணமாக
மாற்றத்தைச் செய்ய கீழே கொடுக்கப்பட்டுள்ள உதாரணத்தைப் பார்க்கவும்:

பொது வர்க்கம் லாங்டோயின்ட்3 {
பொது நிலையான வெற்றிடமானது முக்கிய ( லேசான கயிறு [ ] args ) {
நீண்ட வால்1 = புதிய நீளமானது ( 8624675L ) ;
நீண்ட வால்2 = புதிய நீளமானது ( 3482398L ) ;
முழு எண்ணாக updateVal1 = தேர்வு1. intValue ( ) ;
முழு எண்ணாக updVal2 = மதிப்பு2. intValue ( ) ;;
அமைப்பு. வெளியே . println ( 'முழு மதிப்பு:' + updateVal1 ) ;
அமைப்பு. வெளியே . println ( 'முழு மதிப்பு:' + updVal2 ) ;
}
}

மேலே உள்ள குறியீடு தொகுதியில்:

  • முதலில், இரண்டை உருவாக்கவும். நீளமானது 'பொருள்கள்' வழியாக புதிய 'முக்கிய சொல் மற்றும்' நீண்ட() 'கட்டமைப்பாளர், முறையே.
  • கட்டமைப்பாளர் அளவுருக்களில், மாற்றப்பட வேண்டிய நீண்ட மதிப்புகளைக் குறிப்பிடவும் ' முழு எண்ணாக ”.
  • இப்போது, ​​இணைக்கவும் ' intValue() 'உருவாக்கப்பட்ட பொருள்கள் இரண்டையும் கொண்ட முறை மற்றும் திரட்டப்பட்டதை மாற்றவும்' நீளமானது 'மதிப்புகள்' முழு எண்கள் ” மற்றும் அவற்றைக் காட்டவும்.

வெளியீடு

மேலே உள்ள முடிவு, பொருள் மதிப்புகள் '' ஆக மாற்றப்படுவதைக் குறிக்கிறது. முழு எண்கள் ” பொருத்தமாக.

முடிவுரை

ஜாவாவில் நீளத்தை முழு எண்ணாக மாற்ற, ' Math.toIntExact() 'முறை,' குறுகிய தட்டச்சு 'அணுகுமுறை, அல்லது' intValue() ”முறை. இந்த அணுகுமுறைகள் துவக்கப்பட்ட நீண்ட மதிப்பு மற்றும் பொருளை ஒரு முழு எண்ணாக மாற்றுகிறது ' நீளமானது 'மாற்றப்பட வேண்டிய மதிப்பு' இன் அதிகபட்ச மதிப்பை விட அதிகமாக இல்லை முழு எண்ணாக ”. இந்த வலைப்பதிவு ஜாவாவைப் பயன்படுத்தி நீண்ட எண்ணாக மாற்ற வழிகாட்டுகிறது.