Avainero – kokonaisluku vs. kelluva
Float ja Double ovat muita kääreluokkia, joita käytetään primitiivisten tietotyyppien muuntamiseen. Joskus on tarpeen muuntaa primitiivinen tietotyyppi objektiksi ja muuntaa objekti primitiiviseksi tietotyypiksi. Tätä varten voidaan käyttää Wrapper-luokkia. Ohjelmointikielet, kuten Java, sisältävät Wrapper-luokkia. Niitä käytetään tässä muunnosprosessissa. Kääreluokka on luokka, joka kapseloi tyyppejä. Näitä tyyppejä voidaan käyttää objektiinstanssien ja -menetelmien luomiseen toisessa luokassa, joka tarvitsee kyseisiä tyyppejä. Javassa on kahdeksan primitiivistä tyyppiä. Ne ovat int, short, byte, long, boolean, char, float ja double. Boolen tietotyypin vastaava kääreluokka on Boolen. Char-tietotyypin kääreluokka on merkki. Short, Byte, Integer, Long, Float ja Double ovat muita kääreluokkia. Primitiivisen tietotyypin muuntamista objektiksi automaattisesti kutsutaan autoboxingiksi. Objektin automaattista muuntamista primitiivityypiksi kutsutaan pakkauksen purkamiseksi. Tässä artikkelissa käsitellään kahta kääreluokkaa, jotka ovat Integer ja Float. Keskeinen ero Integerin ja Floatin välillä on, että Integer on kääreluokka, joka liittyy primitiiviin int-tietotyyppiin, kun taas Float on kääreluokka, joka liittyy float-primitiivitietotyyppiin.
Mikä on kokonaisluku?
Integer on Javan kääreluokka. Vastaava tietotyyppi on int. Sitä käytetään muuntamaan int-tietotyyppi objektiksi tai muuttamaan objekti int-muotoon. Katso alla olevaa esimerkkiä kokonaislukujen kääreluokasta.
Kuva 01: Ohjelma Integer Wrapper Class -luokalla
Yllä olevan ohjelman mukaan x on int-tyyppinen muuttuja. Se sisältää arvon 10. Integer.valueOf-funktiota käytetään muuntamaan int Integer-tyyppiseksi objektiksi. Muuttuja x välitetään menetelmän arvolle. Samoin int muunnetaan kokonaisluvuksi.
Y on Integer-tyyppinen objekti. Arvo 5 välitetään rakentajalle. Käyttäen intValue-menetelmää kyseinen objekti muunnetaan int-tietotyypiksi. Tämä muunnettu arvo tallennetaan z-muuttujaksi, joka voi sisältää int.
Kuva 02: Autoboxing ja Unboxing Esimerkki1
Yllä olevan ohjelman mukaan muuttujalla x on int. Kun se määritetään kokonaisluvuksi, kääntäjä kirjoittaa automaattisesti kokonaisluvun.arvoOf(x) sisäisesti. Se on autonyrkkeilyä. "a" on tyyppiä Kokonaisluku. Arvo 6 välitetään rakentajalle. Kun määrität a-arvon b:lle, kääntäjä kirjoittaa automaattisesti a.intValue():n sisäisesti. Se on pakkauksen purkamista.
Mikä on Float?
Float on Javan kääreluokka. Vastaava tietotyyppi on float. Sitä käytetään kelluvan tietotyypin muuntamiseen objektiksi tai objektin muuntamiseen floatiksi. Katso alla olevaa esimerkkiä Float-kääreluokasta.
Kuva 03: Ohjelma Float Wrapper -luokassa
Yllä olevan ohjelman mukaan x on float-tyyppinen muuttuja. Se sisältää arvon 20.5f. Float.valueOf-funktiota käytetään muuntamaan float Float-tyyppiseksi objektiksi. x-muuttuja välitetään valueOf-metodille. Samoin kelluke muunnetaan kelluksi.
Y on Float-tyyppinen objekti. Arvo 10.5f välitetään rakentajalle. Käyttämällä floatValue-menetelmää kyseinen objekti muunnetaan float-tietotyypiksi. Tämä muunnettu arvo tallennetaan z-muuttujaksi, joka voi sisältää kelluvan arvon.
Kuva 04: Autoboxing ja Unboxing Esimerkki2
Yllä olevan ohjelman mukaan muuttujalla x on float. Kun se määritetään Floatille, kääntäjä kirjoittaa automaattisesti Float.valueOf(x):n sisäisesti. Se on autoboxia. "a" on tyyppiä Float. Arvo 6.1f välitetään rakentajalle. Kun määrität a-arvon b:lle, kääntäjä kirjoittaa automaattisesti a.floatValue():n sisäisesti. Se on pakkauksen purkamista.
Mikä on kokonaisluvun ja kelluntaluvun samank altaisuus?
Sekä Integer että Float ovat Javan kääreluokkia
Mitä eroa kokonaisluvulla ja kelluvalla on?
Integer vs Float |
|
Kokonaisluku on luokka, joka kääriä objektiin primitiivityypin int arvon. | Float on luokka, joka kääriä objektiin primitiivityypin float-arvon. |
Aiheeseen liittyvä primitiivinen tietotyyppi | |
Integer on int-tietotyyppiin liittyvä kääreluokka. | Float on float-tietotyyppiin liittyvä kääreluokka. |
Yhteenveto – kokonaisluku vs. kelluva
Javalla on kahdeksan tärkeintä primitiivityyppiä. Ne ovat int, short, byte, long, boolean, char, float ja double. Joskus on tarpeen muuntaa primitiiviset tietotyypit objekteiksi ja objekti primitiivityypeiksi. Siihen käytetään kääreluokkia. Jokaisella primitiivityypillä on vastaava kääreluokka. Nämä kääreluokat ovat Integer, Short, Byte, Long, Boolean, Char, Float ja Double. Tässä artikkelissa käsiteltiin kokonaisluvun ja Floatin välistä eroa. Ero Integerin ja Floatin välillä on, että Integer on kääreluokka, joka liittyy primitiiviin int-tietotyyppiin, kun taas Float on kääreluokka, joka liittyy float-primitiivitietotyyppiin.