Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

Java Type Casting: Van widening tot narrowing en verder

Java Type Casting

Deze gids ontrafelt Java type casting, de primaire vormen en illustreert elk met duidelijke voorbeelden.

Inleiding

Voordat je in Java type casting duikt, zorg dat je Java's datatypen begrijpt.

Type Casting

Het proces van het converteren van de waarde van één datatype (int, float, double, etc.) naar een ander heet type casting.

Java biedt 13 conversietypes, maar deze tutorial focust op de twee kerncategorieën:

  1. Widening Type Casting
  2. Narrowing Type Casting

Voor een uitgebreide lijst, zie Java's officiële Type Conversie-documentatie.

Widening Type Casting

Bij Widening Type Casting promoot Java automatisch een kleiner primitief naar een groter, zonder dataverlies.

Voorbeeld: int naar double converteren

class Main {
    public static void main(String[] args) {
        int num = 10;
        System.out.println("De integer-waarde: " + num);
        double data = num;
        System.out.println("De double-waarde: " + data);
    }
}

Output

De integer-waarde: 10
De double-waarde: 10.0

Dit demonstreert hoe een int-variabele gepromoot wordt naar double vóór toewijzing. De automatische aard van deze conversie is waarom het ook impliciete type casting heet.

Let op: Widening-conversies zijn veilig en worden door de compiler uitgevoerd.

Narrowing Type Casting

Bij Narrowing Type Casting moet je expliciet een groter primitief naar een kleiner casten met haakjes.

Voorbeeld: double naar int converteren

class Main {
    public static void main(String[] args) {
        double num = 10.99;
        System.out.println("De double-waarde: " + num);
        int data = (int)num;
        System.out.println("De integer-waarde: " + data);
    }
}

Output

De double-waarde: 10.99
De integer-waarde: 10

De cast (int) knipt het breukdeel af, wat illustreert waarom deze conversie expliciete type casting heet en kan leiden tot dataverlies.

Let op: Java voert narrowing-conversies niet automatisch uit.

Conversies tussen primitieven en strings

Voorbeeld 1: int naar String

class Main {
    public static void main(String[] args) {
        int num = 10;
        System.out.println("De integer-waarde is: " + num);
        String data = String.valueOf(num);
        System.out.println("De string-waarde is: " + data);
    }
}

Output

De integer-waarde is: 10
De string-waarde is: 10

Hier converteert String.valueOf() de integer naar de tekstuele representatie.

Voorbeeld 2: String naar int

class Main {
    public static void main(String[] args) {
        String data = "10";
        System.out.println("De string-waarde is: " + data);
        int num = Integer.parseInt(data);
        System.out.println("De integer-waarde is: " + num);
    }
}

Output

De string-waarde is: 10
De integer-waarde is: 10

Parsen vertrouwt op Integer.parseInt(). Als de string niet geparsed kan worden, wordt een NumberFormatException gegooid.

Let op: Valideer invoer om runtime-exceptions te voorkomen.

Java

  1. C++ Char Datatype: Declaratie, ASCII en Conversie‑Technieken
  2. Python Type Conversie & Casting onder de knie krijgen: Een uitgebreide gids
  3. Java primitieve datatypes: complete gids met voorbeelden
  4. Java-operators beheersen: typen, syntax en praktische voorbeelden
  5. Java-commentaar: typen, gebruik en best practices
  6. Java Enhanced For-lus beheersen: syntax, voorbeelden en best practices
  7. Java interfaces meesteren: concepten, implementatie en best practices
  8. Java encapsulatie meesteren: een praktische gids tot data hiding
  9. Java Try-with-resources meesteren: automatische resource management uitgelegd
  10. Java Annotaties uitgelegd: typen, plaatsing en praktische voorbeelden
  11. Java Type Casting: Van widening tot narrowing en verder