Typomvandling
Svep för att visa menyn
I Java har varje värde en specifik typ, och ibland behöver vi konvertera ett värde från en typ till en annan. Detta kallas typomvandling.
Det finns två typer av omvandlingar:
- Implicit omvandling;
- Explicit omvandling.
Implicit omvandling
Implicit omvandling sker när Java automatiskt konverterar en mindre typ till en större typ. Detta är säkert eftersom ingen data går förlorad:
int lattePrice = 5;
double priceDecimal = lattePrice; // becomes 5.0
Detta fungerar eftersom en större typ som double enkelt kan innehålla allt som en mindre typ som int kan.
Explicit omvandling
Explicit omvandling sker när en större typ manuellt konverteras till en mindre typ. Detta krävs eftersom data kan gå förlorad under konverteringen:
double lattePrice = 4.99;
int roundedPrice = (int) lattePrice; // becomes 4
Java tar bort decimaldelen och lagrar endast 4. Till skillnad från implicit omvandling måste detta skrivas manuellt med (type).
Ett enkelt sätt att komma ihåg:
- liten → stor = automatisk;
- stor → liten = manuell.
Exempel
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 } }
Exemplet gör först en implicit typomvandling från int till double — Java gör detta automatiskt och resultatet blir 5.0. Sedan gör vi en explicit typomvandling från double till int med hjälp av (int), vilket tar bort decimaldelen och skriver ut 4.
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal