Nøgleforskel – Indpakningsklasse vs primitiv type i Java
Java er et populært programmeringssprog, der bruges til at udvikle forskellige applikationer. En fordel ved Java er, at den understøtter Object Oriented Programming (OOP). Ved hjælp af OOP kan programmet eller softwaren modelleres ved hjælp af objekter. En klasse bruges som en blueprint til at skabe et objekt. Ved programmering er det nødvendigt at gemme data. Reserverede hukommelsesplaceringer til lagring af data er kendt som variabler. Hver variabel har en bestemt datatype. Der er otte primitive typer leveret af Java-sproget. De er korte, byte, int, float, double, char, boolean. Nogle gange er det nødvendigt at konvertere den primitive type til et objekt og objektet tilbage til den primitive type. Indpakningsklasserne bruges til denne konvertering. Denne artikel diskuterer forskellen mellem wrapper-klasse og primitiv type i Java. Den vigtigste forskel mellem wrapper-klasse og primitiv type i Java er, at wrapper-klasse bruges til at konvertere en primitiv type til et objekt og objekt tilbage til primitiv type, mens en primitiv type er en foruddefineret datatype leveret af Java-programmeringssproget.
Hvad er Wrapper Class i Java?
En Wrapper-klasse i Java bruges til at konvertere en primitiv datatype til et objekt og objekt til en primitiv type. Selv de primitive datatyper bruges til lagring af primære datatyper, datastrukturer som Array Lists og Vectors gemmer objekter. Derfor er det påkrævet at bruge wrapper-klasser til konverteringen. De tilsvarende indpakningsklasser for primitive typer char, byte, short og int er Character, Byte, Short og Integer. De tilsvarende indpakningsklasser for long, float, double og boolean er Long, Float, Double og Boolean.
Figur 01: Java-program, der konverterer Wrapper-klasserne til primitive typer
Ifølge ovenstående program er intobj et Integer wrapper-klasseobjekt. Floatobj'en er et Float wrapper-klasseobjekt. Doubleobj er et dobbelt indpakningsklasseobjekt. Integer-objektet konverteres til en primitiv int ved hjælp af intValue (). På samme måde konverteres Float-objektet til en primitiv float ved hjælp af floatValue(). Double-objektet konverteres til primitivt dobbelt ved hjælp af doubleValue (). Hvis programmøren skriver sætningen som int i=intobj; compileren skriver internt intobj. Value(). Processen med automatisk at konvertere et objekt af en wrapper-klasse til dets tilsvarende primitive type er kendt som unboxing. Samlinger såsom ArrayLists bruger Wrapper-klassen, fordi de gemmer objekter.
Hvad er primitiv type i Java?
De primitive datatyper er de foruddefinerede datatyper, der leveres af programmeringssproget Java. Der er otte primitive typer. De er byte, short, int, long, float, double, boolean og char. Byte-datatypen bruges til at gemme et 8-bit signeret to-komplement heltal. Den korte datatype bruges til at gemme 16-bit signeret tos komplementheltal. En int-datatype bruges til at gemme 32-bit signeret tos komplementheltal, mens lang datatype bruges til at gemme 64-bit singed tos komplementheltal. Float bruges til at gemme enkelt præcision 32-bit flydende komma værdi, og det dobbelte bruges til at lagre dobbelt præcision 64 bit flydende komma værdi. Den boolske værdi bruges til at repræsentere sand eller falsk. Tegnet bruges til at gemme et enkelt tegn. Det er de otte primitive typer i Java.
Figur 02: Java-program, der konverterer de primitive typer til Wrapper-klasser
Ifølge ovenstående program er num1 en int-type. Det konverteres til et heltal ved at sende num1 til Integer.valueOf(). Float1 kan gemme flydende værdier. Det konverteres til Float-type ved at overføre float1 til Float.valueOf(). På samme måde kan double1 gemme dobbelte værdier. Det konverteres til Double type ved at overføre double1 til Double.valueOf(). Hvis programmøren skriver sætningen som Interger intobj=num1; compileren skriver internt Integer.valueOf(tal1); Processen med automatisk at konvertere den primitive type til det tilsvarende wrapper-klasseobjekt er kendt som autoboxing.
Hvad er ligheden mellem wrapperklasse og primitiv type i Java?
Både Wrapper-klasse og Primitive Type i Java kan bruges til at gemme data i programmering
Hvad er forskellen mellem wrapperklasse og primitiv type i Java?
Wrapper Class vs Primitiv Type i Java |
|
Wrapper-klassen giver en mekanisme til at konvertere primitiv type til objekt og objekt til primitiv type. | En primitiv type er en foruddefineret datatype leveret af Java. |
Associated Class | |
En Wrapper-klasse bruges til at skabe et objekt; derfor har den en tilsvarende klasse. | En primitiv type er ikke et objekt, så den tilhører ikke en klasse. |
Nullværdier | |
Wrapper-klasseobjekterne tillader null-værdier. | En primitiv datatype tillader ikke nulværdier. |
hukommelse påkrævet | |
Påkrævet hukommelse er højere end de primitive typer. Clustered Index kræver ikke en ekstra plads. | Den nødvendige hukommelse er lavere sammenlignet med indpakningsklasser. |
Collections | |
En Wrapper-klasse kan bruges med en samling såsom ArrayList osv. | En primitiv type bruges ikke med samlinger. |
Opsummering – Indpakningsklasse vs primitiv type i Java
Java-sprog giver otte primitive datatyper. Nogle gange er det nødvendigt at konvertere de primitive typer til objekter og også at konvertere objekterne tilbage til primitiver. Indpakningsklasser kan bruges til at opnå denne opgave. Forskellen mellem wrapper-klasse og primitiv type i Java er, at wrapper-klasse bruges til at konvertere en primitiv type til et objekt og objekt tilbage til en primitiv type, mens en primitiv type er en foruddefineret datatype leveret af Java-programmeringssproget.