Java Type Casting

Definicja pojęcia Java Type Casting
Framework
Podstawy
String metody

Czym jest Java Type Casting


Type Casting w języku Java odnosi się do zmiany typu zmiennej z jednego typu na inny. W Javie, casting może być automatyczny (implicit) lub wymuszony (explicit). Automatyczne rzutowanie zachodzi, gdy konwersja jest bezpieczna i nie wymaga dodatkowej interwencji programisty. Wymuszone rzutowanie jest wymagane, gdy konwersja może potencjalnie prowadzić do utraty danych lub gdy konwersja nie jest bezpośrednio wspierana przez język.

Automatyczne (Niejawne) Rzutowanie

Automatyczne rzutowanie zachodzi w sytuacjach, gdy typ źródłowy ma mniejszy zakres niż typ docelowy. Przykłady typów prostych:

  • z byte do short, int, long, float, lub double
  • z short do int, long, float, lub double
  • z char do int, long, float, lub double
  • z int do long, float, lub double
  • z long do float lub double
  • z float do double
				
					public class Main {
    public static void main(String[] args) {
        int myInt = 9;
        double myDouble = myInt; // Automatyczne rzutowanie: int na double
        System.out.println(myInt);      // Wyświetla 9
        System.out.println(myDouble);   // Wyświetla 9.0
    }
}
				
			

Wymuszone (Jawne) Rzutowanie

Wymuszone rzutowanie jest konieczne, gdy zamierzamy przekonwertować większy typ danych na mniejszy typ danych. Wymuszone rzutowanie może prowadzić do utraty danych, dlatego powinno być stosowane z rozwagą.

Przykład Jawnego Rzutowania:

				
					public class Main {
    public static void main(String[] args) {
        double myDouble = 9.78;
        int myInt = (int) myDouble; // Wymuszone rzutowanie: double na int
        System.out.println(myDouble);   // Wyświetla 9.78
        System.out.println(myInt);      // Wyświetla 9
    }
}
				
			

Rzutowanie w Obiektach

W Javie, rzutowanie może być również stosowane do obiektów. Dzieje się tak w przypadku rzutowania między klasami, które mają wspólną hierarchię dziedziczenia.

  • Rzutowanie w górę (upcasting): jest to automatyczne i bezpieczne. Polega na rzutowaniu od klasy potomnej do klasy bazowej.
  • Rzutowanie w dół (downcasting): wymaga jawnej konwersji i może prowadzić do błędów w runtime, jeśli obiekt nie jest instancją danej klasy.

Przykład Rzutowania Obiektów:

				
					class Zwierze {}
class Pies extends Zwierze {}

public class Main {
    public static void main(String[] args) {
        Zwierze zwierze = new Pies(); // Automatyczne rzutowanie w górę

        // Wymuszone rzutowanie w dół
        if (zwierze instanceof Pies) {
            Pies pies = (Pies) zwierze;
            System.out.println("Rzutowanie zakończone sukcesem.");
        }
    }
}
				
			

Wymuszone rzutowanie w dół powinno być zawsze poprzedzone sprawdzeniem za pomocą operatora instanceof, aby uniknąć błędów w runtime.

zł30

Pytania rekrutacyjne JavaScript

zł25

Pytania rekrutacyjne SQL

zł30

Pytania rekrutacyjne Spring Framework 

« » page 1 / 2
Scroll to Top