Co to jest Autoboxing w Javie? Z przykładami

Opublikowany: 2023-01-28

We współczesnym świecie Java jest znanym wyborem do tworzenia skryptów aplikacji na Androida. Znajduje również duże zapotrzebowanie w środowisku uczenia maszynowego, aplikacjach w chmurze i technologii IOT. Programiści muszą dokładnie rozumieć najnowsze trendy w programowaniu w języku Java. Programiści Java mają zapewnioną lukratywną perspektywę zawodową, ponieważ język ten jest mocno obecny w przedsiębiorstwie. Java jest nie tylko wiodącym językiem obiektowym na rynku aplikacji mobilnych na Androida, ale także na rynku backendowym.

Spis treści

Podstawy autoboxingu w Javie:

Podczas pisania programu w większości języków programowania używane są prymitywne typy danych. Jednak w zorientowanych obiektowo językach programowania, takich jak Java, prymitywne typy danych nie są skuteczne w niektórych scenariuszach i są niewystarczające w tej dziedzinie. Aby przezwyciężyć ograniczenia pierwotnych typów danych, używane są opakowania. Zjawisko to nazywa się autoboxingiem. Omówimy więcej o autoboxingu w Javie w kolejnych sekcjach.

Sprawdź nasze bezpłatne kursy technologiczne, aby uzyskać przewagę nad konkurencją.

Zapoznaj się z naszymi popularnymi kursami inżynierii oprogramowania

Magister informatyki na LJMU i IIITB Program certyfikacji cyberbezpieczeństwa Caltech CTME
Bootcamp programistyczny Full Stack Program PG w Blockchain
Executive PG Program w Full Stack Development
Zobacz wszystkie nasze kursy poniżej
Kursy inżynierii oprogramowania

Automatyczne pakowanie i automatyczne rozpakowywanie:

Autoboxing to proces konwersji pierwotnej wartości na obiekt klasy opakowującej. Na przykład typ danych int jest konwertowany na klasę całkowitą. Funkcja autoboxingu jest wykonywana przez kompilator Java, jeśli wartością pierwotną jest:

  • Przypisany do zmiennej odpowiedniej klasy opakowania.
  • Przekazywany jako argument do metody, która używa obiektu odpowiedniej klasy opakowania.

Autoboxing jest odwrotnością funkcji autoboxingu. Konwersja obiektu typu opakowującego na jego odpowiednią wartość pierwotną jest określana jako rozpakowywanie. Rozważmy przykład obiektu typu Integer przekonwertowanego na typ danych int. Kompilator Java przeprowadza rozpakowywanie, gdy obiekt klasy opakowującej to:

  • Przypisano zmienną odpowiedniego typu pierwotnego.
  • Przekazywany jako argument do metody, która wymaga wartości odpowiedniego typu pierwotnego.

Ucz się kursów programistycznych online z najlepszych światowych uniwersytetów. Zdobądź programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

Umiejętności tworzenia oprogramowania na żądanie

Kursy JavaScript Podstawowe kursy języka Java Kursy dotyczące struktur danych
Kursy Node.js Kursy SQL Kursy rozwoju pełnego stosu
Kursy NTF Kursy DevOps Kursy Big Data
Kursy React.js Kursy Cyberbezpieczeństwa Kursy przetwarzania w chmurze
Kursy projektowania baz danych Kursy Pythona Kursy kryptowalut

Autoboksowanie w szczegółach:

Terminy boxing i autoboxing są w wielu przypadkach używane naprzemiennie do opisania tej samej koncepcji. Istnieje jednak subtelna różnica między tymi dwoma terminami. Termin „boksowanie” odnosi się do zawijania prymitywnego typu danych w celu utworzenia obiektu. Rozważmy przykład, aby zrozumieć to pojęcie. Rozważ instrukcję kodu Java napisaną poniżej.

int Pierwsza liczba = 1;

W tej instrukcji zmienna „FirstNumber” ma typ danych int, który jest prymitywny. Można go przekształcić w obiekt, korzystając z poniższej instrukcji.

Liczba całkowita Druga liczba = nowa liczba całkowita (2);

Zmienna SecondNumber w powyższej instrukcji nie jest typem danych pierwotnych int. Zamiast tego jest to obiekt Integer. Ten proces konwersji prymitywnych typów danych na obiekt jest określany jako boksowanie. Najłatwiejszym sposobem wykonania tego zadania jest utworzenie klasy zawierającej pojedynczy atrybut typu danych int. Do atrybutu class przypisany jest konstruktor wartości typu int. Do manipulowania wartością int używa się kilku metod. Klas opakowujących w Javie można użyć do umożliwienia konwersji innych typów danych na obiekt.

Autoboxing to funkcja wykonywana automatycznie przez kompilator bez wyraźnej wzmianki o tym.

MojaLista.add(liczba całkowita.wartość(i));

Jest to linia dodana przez kompilator do naszego programu.

W powyższej instrukcji kodu nazwa klasy „Integer” jest określona przed wzmianką o metodzie valueOf(), ponieważ valueOf() jest metodą statyczną.

Przeczytaj nasze popularne artykuły związane z tworzeniem oprogramowania

Jak zaimplementować abstrakcję danych w Javie? Co to jest klasa wewnętrzna w Javie? Identyfikatory Java: definicja, składnia i przykłady
Zrozumienie enkapsulacji w OOPS z przykładami Wyjaśnienie argumentów wiersza poleceń w języku C 10 najważniejszych funkcji i cech przetwarzania w chmurze w 2022 r
Polimorfizm w Javie: pojęcia, typy, cechy charakterystyczne i przykłady Pakiety w Javie i jak z nich korzystać? Samouczek Git dla początkujących: Naucz się Git od podstaw

Co to jest rozpakowywanie w Javie?

Teraz, gdy zrozumieliśmy proces konwersji pierwotnych typów danych na obiekty, przyjrzyjmy się procesowi, który wykonuje funkcję odwrotną do boksowania. Unboxing, jak wspomniano wcześniej, odnosi się do procesu konwersji obiektu typu klasy wrapper na jego prymitywne typy danych.

Gdy proces rozpakowywania jest wykonywany automatycznie przez kompilator bez wyraźnej wzmianki o tym w programie, nazywa się to rozpakowywaniem automatycznym. Rozważmy poniższy przykład, aby zrozumieć automatyczne rozpakowywanie.

Więcej o klasach opakowania:

W przykładzie autoboxingu zmienna I jest typu danych int, a obiekt Integer jest klasą opakowującą. Klasa opakowująca w Javie jest dostępna dla wszystkich pierwotnych typów danych. Klasy te umożliwiają użytkownikowi konwersję zmiennej z pierwotnego typu danych na odpowiadający jej obiekt typu klasy opakowującej. Metody klasy opakowującej są używane do manipulowania wartościami. Podstawowe typy danych i odpowiadające im klasy opakowujące są podsumowane w poniższej tabeli. Zwróć uwagę, że nazwy klas opakowujących zaczynają się od dużej litery.

Pierwotny typ danych

Odpowiednia klasa opakowania

bajt Bajt
logiczna logiczne
zwęglać Postać
int Liczba całkowita
pływak Pływak
Krótki Krótki
Długi Długi
podwójnie Podwójnie

Zalety Autoboxingu i automatycznego rozpakowywania w Javie:

  • Proces autoboksowania i rozpakowywania umożliwia programistom napisanie dobrze ustrukturyzowanego i łatwego do odczytania kodu.
  • Proces umożliwia również użytkownikom naprzemienne przełączanie się między prymitywnymi typami danych i obiektami klasy opakowującej. W związku z tym jawne rzutowanie typów nie jest wymagane.

Jeśli chcesz dowiedzieć się więcej o Javie, pełnym rozwoju oprogramowania, sprawdź program Executive PG PG in Software Development - Specialization in Full Stack Development upGrad & IIIT-B, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 500 godzin rygorystycznego szkolenia , 9+ projektów i zadań, status absolwenta IIIT-B, praktyczne praktyczne projekty zwieńczenia i pomoc w znalezieniu pracy w najlepszych firmach.

Chcesz udostępnić ten artykuł?

Przygotuj się na karierę przyszłości

Aplikuj teraz na studia magisterskie z inżynierii oprogramowania