Tämä artikkeli käsittelee 'pitkän' muuntamista 'int':ksi Javassa.
Mitä ovat 'long' ja 'int' Javassa?
' pitkä kirjoita Java vaihtelee ' -9223372036854775808 ”–” 922337203685477580 'ja on varattu' 64 ” bittejä. ' int 'tyyppi kuitenkin vie' 32 ' bittejä, jotka vaihtelevat ' -2147483648 ”–” 2147483647 ”. Tämä tarkoittaa, että mikä tahansa määrä ' int '-tyyppejä voidaan helposti tukea ' pitkä ”-tyyppiä, mutta se ei aina ole niin suurimman osan ajasta.
Kuinka muuntaa 'pitkä' 'int' Java-sovelluksella?
Muuntaa ' pitkä ”–” int ” Javassa, käytä seuraavia lähestymistapoja:
Lähestymistapa 1: Muunna pitkä int:ksi Javassa käyttämällä 'Math.toIntExact()'-menetelmää
' Math.toIntExact() '-menetelmä Javassa antaa ' int ' arvo tarjotusta ' pitkä ' Perustelu. Tätä menetelmää voidaan käyttää yksinkertaisesti ohittamaan ' pitkä ”-arvo argumenttina ja palauta se kokonaislukuna.
Syntaksi
Matematiikka . Täsmälleen ( pitkä val )
Tässä syntaksissa ' pitkä val ' viittaa arvoon, joka on palautettava ' int ”.
Esimerkki
Katsotaanpa seuraavaa esimerkkiä:
julkinen luokkaa longtoint2 {
julkinen staattinen mitätön pää ( merkkijono [ ] args ) {
pitkä valinta 1 = 8624675L ;
pitkä val2 = 3482398L ;
int päivitysVal1 = Matematiikka . Täsmälleen ( valinta 1 ) ;
int updVal2 = Matematiikka . Täsmälleen ( val2 ) ;
Järjestelmä. ulos . println ( 'Kokonaislukuarvo on: ' + päivitysVal1 ) ;
Järjestelmä. ulos . println ( 'Kokonaislukuarvo on: ' + updVal2 ) ;
}
}
Suorita tässä koodinpätkässä seuraavat vaiheet:
- Alusta ensin kaksi ' pitkä ”arvot.
- Huomautus: määritelty ' L ' arvoissa edustaa ja erottaa ' pitkä ' arvot kohteesta ' int ”arvot.
- Käytä sen jälkeen ' Math.toIntExact() ” -menetelmä kahdesti ja kerää molemmat alustetut pitkät arvot parametrikseen muuntaakseen ne kokonaisluvuiksi.
- Kirjaa lopuksi muunnetut kokonaislukuarvot konsoliin.
Lähtö
Yllä olevassa tuloksessa voidaan analysoida, että vastaavat kokonaislukuarvot näytetään.
Huomautus: Muunnosprosessi (pitkästä int:ksi) toimii hyvin, kun pitkä ' on pienempi tai yhtä suuri kuin '' int ”, eli (2147483647). Toisessa tapauksessa tapahtuu virhe ja myös tietoja voi hävitä.
Esittely
Tarkastellaan keskusteltua rajoitukseen johtavaa käsitettä:
Yllä olevassa esimerkissä lisää vain jälkimmäistä ' pitkä ”-arvo ja suorita muunnos. Tämä johtaa kohtaamiseen ' Kokonaisluvun ylivuoto rajoitus, koska muunnettu arvo ylittää int ”maksimiraja.
Lähestymistapa 2: Muunna pitkä int:ksi Javassa käyttämällä 'Kapeaa tyyppilähetystä'
' Typecasting ” vastaa yhden primitiivisen tietotyypin arvon määrittämistä toiselle. Tässä tapauksessa ' kaventava tyyppivalu ” tulee voimaan, koska korkeampi tietotyyppi, eli ” pitkä ' muunnetaan alemmaksi tietotyypiksi ' int ”. Tämä voidaan saavuttaa yksinkertaisesti sijoittamalla muutettava arvo ja haluttu tyyppi sulkeisiin.
Esimerkki
Seuraava esimerkki selittää käsiteltyä käsitettä:
julkinen staattinen mitätön pää ( merkkijono [ ] args ) {
pitkä valinta 1 = 647467L ;
pitkä val2 = 348 239 litraa ;
int päivitysVal1 = ( int ) valinta 1 ;
int updVal2 = ( int ) val2 ;
Järjestelmä. ulos . println ( 'Kokonaislukuarvo on: ' + päivitysVal1 ) ;
Järjestelmä. ulos . println ( 'Kokonaislukuarvo on: ' + updVal2 ) ;
}
}
Yllä olevilla koodiriveillä:
- Samoin alusta kaksi ' pitkä ”arvot.
- Käytä seuraavassa vaiheessa ' kapea tyyppivalu ' -lähestymistapaa asettamalla muunnettavan arvon ja sen jälkeen halutun tyypin, eli ' int ”.
- Näytä lopuksi muunnettu ' int ” arvot konsolissa.
Lähtö
Tässä tulosteessa voidaan nähdä, että ' pitkä ' arvot muunnetaan ' int ”arvot asianmukaisesti.
Lähestymistapa 3: Muunna pitkä objekti int:ksi Javassa käyttämällä 'intValue()'-menetelmää
' intValue() ' -menetelmä Javassa palauttaa siihen liittyvän luvun arvon muodossa ' int ”. Tämä menetelmä voidaan toteuttaa yksinkertaisesti muuttamaan siihen liittyvä pitkä ' esineitä ” kokonaisluvuiksi.
Esimerkki
Suorita muunnos suorittamalla alla oleva esimerkki:
julkinen staattinen mitätön pää ( merkkijono [ ] args ) {
Pitkä val1 = Uusi Pitkä ( 8624675L ) ;
Pitkä val2 = Uusi Pitkä ( 3482398L ) ;
int päivitysVal1 = valinta 1. intValue ( ) ;
int updVal2 = val2. intValue ( ) ;;
Järjestelmä. ulos . println ( 'Kokonaislukuarvo on: ' + päivitysVal1 ) ;
Järjestelmä. ulos . println ( 'Kokonaislukuarvo on: ' + updVal2 ) ;
}
}
Yllä olevassa koodilohkossa:
- Luo ensin kaksi ' pitkä ' objektit ' Uusi 'avainsana ja ' Pitkä () ” rakentaja, vastaavasti.
- Määritä konstruktoriparametreissa pitkät arvot, jotka on muutettava ' int ”.
- Yhdistä nyt ' intValue() ' -menetelmää molemmilla luoduilla objekteilla ja muuntaa kertynyt ' pitkä ' arvot ' kokonaislukuja ' ja näytä ne.
Lähtö
Yllä oleva tulos tarkoittaa, että objektiarvot muunnetaan ' kokonaislukuja ”asianmukaisesti.
Johtopäätös
Jos haluat muuntaa long int:ksi Javassa, käytä ' Math.toIntExact() 'menetelmä, ' Kapea tyyppilähetys 'lähestymistapa tai ' intValue() ”menetelmä. Nämä lähestymistavat muuttavat alustetun pitkän arvon ja objektin kokonaisluvuksi edellyttäen, että ' pitkä muutettava arvo ei ylitä arvoa ' int ”. Tämä blogi on opastettu muuntamaan long int:ksi Javalla.