Typecasting
Veeg om het menu te tonen
In Java heeft elke waarde een specifiek type, en soms moeten we een waarde van het ene type naar het andere omzetten. Dit wordt typecasting genoemd.
Er zijn twee soorten casting:
- Impliciete casting;
- Expliciete casting.
Impliciete casting
Impliciete casting vindt plaats wanneer Java automatisch een kleiner type omzet naar een groter type. Dit is veilig omdat er geen gegevens verloren gaan:
int lattePrice = 5;
double priceDecimal = lattePrice; // becomes 5.0
Dit werkt omdat een groter type zoals double eenvoudig alles kan bevatten wat een kleiner type zoals int kan.
Expliciete casting
Expliciete casting vindt plaats wanneer een groter type handmatig wordt omgezet naar een kleiner type. Dit is vereist omdat er gegevens verloren kunnen gaan tijdens de conversie:
double lattePrice = 4.99;
int roundedPrice = (int) lattePrice; // becomes 4
Java verwijdert het decimale gedeelte en slaat alleen 4 op. In tegenstelling tot impliciete casting moet dit handmatig worden geschreven met (type).
Een eenvoudige manier om te onthouden:
- klein → groot = automatisch;
- groot → klein = handmatig.
Voorbeeld
Main.java
1234567891011121314151617package com.example; public class Main { public static void main(String[] args) { int lattePrice = 5; // implicit casting double priceDecimal = lattePrice; System.out.println(priceDecimal); // 5.0 // explicit casting double realPrice = 4.99; int roundedPrice = (int) realPrice; System.out.println(roundedPrice); // 4 } }
In het voorbeeld wordt eerst int impliciet omgezet naar double — Java doet dit automatisch en het resultaat wordt 5.0. Vervolgens wordt double expliciet omgezet naar int met (int), waarbij het decimale gedeelte wordt verwijderd en 4 wordt afgedrukt.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.