Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Det vil sjeldent være noen noe grunn til å bruke noe annet enn int når man bruker heltall. Det vil i så fall være dersom man har bruk for virkelig store tall (se over), som kan løses med et long. Eller man har strenge krav til minnesparsommelighet og skal ha store mengder heltall i array uten å trenge hele verdiområdet til int. I så fall vil et short, eller byte være en mulighet.
Dersom vi vil konvertere mellom to heltall vil dette gå fint dersom tallet er innenfor verdiområdet til den nye typen. 

99 

 

Code Block
languagejava
titleCorrect casting
linenumberstrue
int i = 99;
byte b = (byte) i;
 
System.out.println(b);
 
// 
99

i er innenfor verdiområdet til byte

 

Code Block
languagejava
titleIncorrect casting
int i = 500;
byte b = (byte) i;
 
System.out.println(b);

// -12  

i er utenfor verdiområdet tilbyte

 

 

Code Block
languagejava
titleHigher #bits
int i = Integer.MAX_VALUE;
long l = i;	

System.out.println(l);
 
// 2147483647

Trenger ikke caste "oppover"

...