Jeg vil påstå at det ikke er type casting i alm Java-forstand af 2 grunde: 1) Ved type casting tager man det samme object og assigner det til en variabel af en anden type. Det der foregår med primitive typer er at der laves et nyt tal som lægges på stakken. Overvej: String s = "s"; Casting af dette til object (implicit eller explicit giver: Object o = s; Det er stadig det samme object, så hvis du gør sådan her: String s2 = (String)s; Så har du noget igen som du kan hive det oprindelig "s" ud af.
Sammenlign med: double d = 1.2; int i = (int)d; Hvad sker der hvis jeg assigner i til en ny double? double d2 = i; Så står der ikke 1.2 i den, men derimod 1... 2) På maskinniveau er der tale om to forskellige operationer.
Men man har valgt at bruge den samme syntax...
Det er ikke noget vi skal mundhugges mere over. I øvrigt gør Math.round() det samme (men runder op hvis decimalværdien er større en ,5. Det gør min ikke, men det kan gøres ved at lægge en 0,5 til)...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.