...
Code Block |
---|
language | java |
---|
title | Correct casting |
---|
| int i = 99;
byte b = (byte) i;
System.out.println(b);
// 99 |
i er innenfor verdiområdet til byte | Code Block |
---|
language | java |
---|
title | Incorrect casting |
---|
| int i = 500;
byte b = (byte) i;
System.out.println(b);
// -12 |
i er utenfor verdiområdet tilbyte | Code Block |
---|
language | java |
---|
title | Higher #bits |
---|
| int i = Integer.MAX_VALUE;
long l = i;
System.out.println(l);
// 2147483647 |
Trenger ikke caste "oppover" |
---|
Merk at Wrapperklassene (se lenger ned) gir støtte for konvertering mellom talltypene uten casting.
Flyttall
Hva flyttall angår vil det vil sjeldent være grunn til å bruke noe annet enn double. Det som er viktig å bemerke seg er at et flyttall blir mindre og mindre nøyaktig desto større det blir og at man kan oppleve upresise beregninger selv med små verdier.
...
Code Block |
---|
language | java |
---|
title | Adding objekt |
---|
| List<Integer> list = ArrayList<Integer>();
list.add(Integer.valueOf(13)); // valueOf() refererer til et objekt
list.get(0) // En Integer |
| Som nevnt over har java mekanismer som konverterer for oss dersom det er helt tydelig hvilke verdier og typer som forventes Code Block |
---|
language | java |
---|
title | Auto-converting |
---|
| list.add(n) // oversettes til
list.add(Integer.valueOf(n)) // og
list.get(i) // oversettes til
list.get(i).intValue() |
|
---|
...