Java Numbers Class – Wrapper Classes & Erfelijkheid Uitgelegd
Normaal werken we met Numbers via primitieve datatypes: byte, int, long, double, etc.
Voorbeeld
int i = 5000;
float gpa = 13.65f;
double mask = 125;
In ontwikkeling komen situaties waar we objects nodig hebben in plaats van primitieven. Java biedt wrapper classes.
Alle wrapper classes (Integer, Long, Byte, Double, Float, Short) zijn subclasses van de abstracte class Number.
Number class hiërarchie diagram
Het wrapper object bevat/wrapt zijn primitieve datatype. Omzetten primitief → object heet boxing, gedaan door compiler. Je hoeft alleen de primitieve waarde door te geven aan de wrapper constructor.
Terug omzetten object → primitief heet unboxing. De Number class zit in java.lang package.
Voorbeeld Boxing/Unboxing
public class Test {
public static void main(String args[]) {
Integer x = 5; // boxes int naar Integer object
x = x + 10; // unboxes Integer naar int
System.out.println(x);
}
}
Output
15
Bij toewijzing van int waarde aan Integer object, boxed compiler de int. Later unboxed voor optelling.
Number Methods
Instance methodes die alle subclasses van Number implementeren:
| Nr. | Methode & Beschrijving |
|---|---|
| 1 | xxxValue() – Converteert Number object naar xxx datatype. |
| 2 | compareTo() – Vergelijkt Number object met argument. |
| 3 | equals() – Bepaalt of Number object gelijk is aan argument. |
| 4 | valueOf() – Retourneert Integer object met waarde van primitief. |
| 5 | toString() – String representatie van int/Integer. |
| 6 | parseInt() – Haalt primitief datatype uit String. |
| 7 | abs() – Absolute waarde van argument. |
| 8 | ceil() – Kleinste integer ≥ argument (double). |
| 9 | floor() – Grootste integer ≤ argument (double). |
| 10 | rint() – Integer dichtst bij argument (double). |
| 11 | round() – Dichtstbijzijnde long/int naar argument. |
| 12 | min() – Kleinste van twee argumenten. |
| 13 | max() – Grootste van twee argumenten. |
| 14 | exp() – e^argument. |
| 15 | log() – Natuurlijke log van argument. |
| 16 | pow() – Eerste argument^tweede argument. |
| 17 | sqrt() – Vierkantswortel van argument. |
| 18 | sin() – Sinus van double waarde. |
| 19 | cos() – Cosinus van double waarde. |
| 20 | tan() – Tangens van double waarde. |
| 21 | asin() – Arc sinus van double waarde. |
| 22 | acos() – Arc cosinus van double waarde. |
| 23 | atan() – Arc tangens van double waarde. |
| 24 | atan2() – Rechthoekige (x,y) naar polaire (r,θ), retourneert θ. |
| 25 | toDegrees() – Converteert argument naar graden. |
| 26 | toRadians() – Converteert argument naar radialen. |
| 27 | random() – Willekeurig getal. |
Wat Volgt?
Volgende sectie: Character class in Java. Object Characters en primitief char gebruiken.
Java
- Java's final-sleutelwoord begrijpen: variabelen, methoden en klassen
- Java instanceof operator: een uitgebreide gids
- Java geneste static classes begrijpen: gebruik, verschillen en voorbeelden
- Java anonieme inner classes meesteren: definitie, syntax en praktische voorbeelden
- Java Singleton patroon uitgelegd: hoe veilig te implementeren en gebruiken
- Java Reflectie meesteren: klassen, methoden en velden inspecteren tijdens runtime
- Java Collection-algoritmes: Sorteren, shuffelen en meer
- Java ObjectOutputStream: Serialisatie, methoden en praktische voorbeelden
- Java Generics: Herbruikbare, type-veilige code bouwen
- Java-bestandsbewerkingen onder de knie krijgen met java.io – Aanmaken, lezen, schrijven en verwijderen
- Java 8 Optional onder de knie krijgen: Praktische gids voor null-veilige code