Paano i-convert ang mahaba sa int sa Java

Paano I Convert Ang Mahaba Sa Int Sa Java



Sa Java, maaaring may ilang partikular na sitwasyon kung saan kailangang epektibong mag-save ng memory ang developer. Halimbawa, ang paglalaan ng uri ng data na may medyo mas maliit na hanay ng mga halaga o pag-alis ng mga dagdag na halaga. Sa ganitong mga pagkakataon, ang conversion ng ' mahaba 'sa' int” sa Java ay magkakabisa sa pamamagitan ng pag-streamline ng mga pagpapatakbo ng aritmetika, pagiging kumplikado ng code, at tumatagal ng medyo mas kaunting oras ng pagpapatupad.

Ang artikulong ito ay magdedetalye sa pag-convert ng 'long' sa 'int' sa Java.

Ano ang 'mahaba' at 'int' sa Java?

Ang ' mahaba 'type in Java ranges from ' -9223372036854775808 'sa' 922337203685477580 'at inilalaan' 64 ” bits. Ang ' int 'uri, gayunpaman, sumasakop' 32 'mga piraso mula sa' -2147483648 'sa' 2147483647 ”. Ito ay nagpapahiwatig na ang anumang bilang ng ' int Ang mga uri ay madaling masuportahan ng isang ' mahaba ” uri ngunit hindi ito palaging nangyayari sa halos lahat ng oras.







Paano I-convert ang 'mahaba' sa 'int' Gamit ang Java?

Upang i-convert ' mahaba 'sa' int ” sa Java, ilapat ang mga sumusunod na diskarte:



Diskarte 1: I-convert ang mahaba sa int sa Java Gamit ang Paraang “Math.toIntExact()”

Ang ' Math.toIntExact() Ang pamamaraan sa Java ay nagbibigay ng ' int 'halaga mula sa ibinigay na' mahaba ” argumento. Ang pamamaraang ito ay maaaring ilapat upang ipasa lamang ang ' mahaba ” value bilang argument nito at ibalik ito bilang integer.



Syntax





Math . saIntExact ( mahaba val )

Sa syntax na ito, ' mahabang val Ang ” ay tumutukoy sa halaga na kailangang ibalik bilang isang “ int ”.

Halimbawa
Tingnan natin ang sumusunod na halimbawa:



pampubliko klase longtoint2 {
pampubliko static walang bisa pangunahing ( String [ ] args ) {
mahaba pagpipilian1 = 8624675L ;
mahaba val2 = 3482398L ;
int updateVal1 = Math . saIntExact ( pagpipilian1 ) ;
int updVal2 = Math . saIntExact ( val2 ) ;
Sistema. palabas . println ( 'Ang halaga ng integer ay: ' + updateVal1 ) ;
Sistema. palabas . println ( 'Ang halaga ng integer ay: ' + updVal2 ) ;
}
}

Sa snippet ng code na ito, gawin ang mga sumusunod na hakbang:

  • Una, simulan ang dalawang ' mahaba ” mga halaga.
  • Tandaan: Ang tinukoy na ' L ” sa mga halaga ay kumakatawan at pinagkaiba ang “ mahaba 'mga halaga mula sa ' int ” mga halaga.
  • Pagkatapos nito, ilapat ang ' Math.toIntExact() ” na pamamaraan nang dalawang beses at maipon ang parehong nasimulang mahabang halaga, bilang parameter nito upang i-convert ang mga ito sa mga integer.
  • Panghuli, i-log ang na-convert na mga halaga ng integer sa console.

Output

Sa kinalabasan sa itaas, masusuri na ang mga katumbas na halaga ng integer ay ipinapakita.

Tandaan: Ang proseso ng conversion (mahaba hanggang int) ay gumagana nang maayos kapag ang halaga ng “ mahaba Ang ” ay mas mababa sa o katumbas ng pinakamataas na halaga ng “ int ”, ibig sabihin, (2147483647). Sa kabilang kaso, isang error ang nakatagpo at maaaring magkaroon din ng pagkawala ng data.

Pagpapakita
Pagmasdan natin ang tinalakay na konsepto na humahantong sa limitasyon:

Sa halimbawa sa itaas, dagdagan lang ang huli ' mahaba ” halaga at isagawa ang conversion. Ito ay hahantong sa pagharap sa ' Integer overflow ” limitasyon dahil ang na-convert na halaga ay lumampas sa “ int ” max na limitasyon.

Diskarte 2: I-convert ang mahaba sa int sa Java Gamit ang 'Narrow Typecasting'

Typecasting ” ay tumutugma sa pagtatalaga ng isang halaga ng isang primitive na uri ng data sa isa pa. Sa kasong ito, ang ' pagpapaliit ng typecasting ” ay magkakabisa dahil ang mas mataas na uri ng data, ibig sabihin, “ mahaba Ang 'ay binago sa mas mababang uri ng data' int ”. Ito ay maaaring makamit sa pamamagitan lamang ng paglalagay ng halaga na kailangang baguhin na sinusundan ng nais na uri sa mga panaklong.

Halimbawa
Ipinapaliwanag ng sumusunod na halimbawa ang tinalakay na konsepto:

pampubliko klase longtoint {
pampubliko static walang bisa pangunahing ( String [ ] args ) {
mahaba pagpipilian1 = 647467L ;
mahaba val2 = 348 239L ;
int updateVal1 = ( int ) pagpipilian1 ;
int updVal2 = ( int ) val2 ;
Sistema. palabas . println ( 'Ang halaga ng integer ay: ' + updateVal1 ) ;
Sistema. palabas . println ( 'Ang halaga ng integer ay: ' + updVal2 ) ;
}
}

Sa mga linya ng code sa itaas:

  • Gayundin, simulan ang dalawang ' mahaba ” mga halaga.
  • Sa susunod na hakbang, ilapat ang ' makitid na typecasting ' diskarte sa pamamagitan ng paglalagay ng halaga na kailangang i-convert na sinusundan ng nais na uri, ibig sabihin, ' int ”.
  • Panghuli, ipakita ang na-convert na ' int ” na mga halaga sa console.

Output

Sa output na ito, makikita na ang ' mahaba Ang mga halaga ay na-convert sa ' int ” mga halaga, nang naaangkop.

Diskarte 3: I-convert ang mahabang Bagay sa int sa Java Gamit ang Paraang 'intValue()'.

Ang ' intValue() Ang pamamaraan sa Java ay nagbabalik ng halaga ng nauugnay na numero sa anyo ng ' int ”. Ang pamamaraang ito ay maaaring ipatupad upang baguhin lamang ang nauugnay na mahabang ' mga bagay ” sa mga integer.

Halimbawa
Pumunta sa halimbawang ibinigay sa ibaba upang maisagawa ang conversion:

pampubliko klase longtoint3 {
pampubliko static walang bisa pangunahing ( String [ ] args ) {
Mahabang val1 = bago Mahaba ( 8624675L ) ;
Mahabang val2 = bago Mahaba ( 3482398L ) ;
int updateVal1 = pagpipilian1. intValue ( ) ;
int updVal2 = val2. intValue ( ) ;;
Sistema. palabas . println ( 'Ang halaga ng integer ay: ' + updateVal1 ) ;
Sistema. palabas . println ( 'Ang halaga ng integer ay: ' + updVal2 ) ;
}
}

Sa itaas na bloke ng code:

  • Una sa lahat, lumikha ng dalawang ' mahaba 'mga bagay sa pamamagitan ng ' bago 'keyword at ang' mahaba() ” constructor, ayon sa pagkakabanggit.
  • Sa mga parameter ng constructor, tukuyin ang mahahabang halaga na kailangang baguhin sa ' int ”.
  • Ngayon, iugnay ang ' intValue() 'paraan sa parehong mga nilikha na bagay at i-convert ang naipon na ' mahaba 'mga halaga sa' mga integer ” at ipakita ang mga ito.

Output

Ang kinalabasan sa itaas ay nagpapahiwatig na ang mga halaga ng bagay ay na-convert sa ' mga integer ” nang naaangkop.

Konklusyon

Upang i-convert ang long sa int sa Java, ilapat ang ' Math.toIntExact() 'paraan, ang' Makitid na Typecasting 'diskarte, o ang' intValue() ” paraan. Binabago ng mga diskarteng ito ang inisyal na mahabang halaga at bagay sa isang integer sa kondisyon na ang ' mahaba Ang ' value na kailangang i-convert ay hindi lalampas sa maximum na halaga ng ' int ”. Ang blog na ito ay ginagabayan sa pag-convert ng long sa int gamit ang Java.