Junior
Mis on Wrapper klassid Java's?
sobes.tech AI
Vastus AI-lt
Java Wrapper klassid on klassid, mis pakuvad primitiivsete andmetüüpide objektipõhist esitust. Need võimaldavad kasutada primitiivseid väärtusi olukordades, kus nõutakse objekte, näiteks kogudes või mitme niidiga töötamisel.
Peamised Wrapper klassid:
ByteShortIntegerLongFloatDoubleBooleanCharacter
Kasutusnäited:
primitiivide kasutamine:
// primitiivtüüp
int x = 10;
Wrapper klassi kasutamine:
// Wrapper klass
Integer y = new Integer(20); // Vana meetod
Integer z = 30; // Autoboxing (automaatne primitiivide konverteerimine objekti)
Vahet primitiivide ja Wrapper objektide vahel:
- Autoboxing: primitiiv automaatselt konverteeritakse Wrapper objektiks.
// Autoboxing int primitiveInt = 100; Integer wrapperInt = primitiveInt; - Unboxing: Wrapper objekt automaatselt konverteeritakse primitiiviks.
// Unboxing Integer wrapperInteger = new Integer(200); int primitiveInteger = wrapperInteger;
Wrapper klasside eelised:
- Töö kogudes: kogud (
List,Set,Map) hoiavad ainult objekte. - Töö
null-idega: Wrapper objektidel võib olla väärtusnull, erinevalt primitiivsetest. - Kasulikud meetodid: Wrapper klassidel on meetodid stringide teisendamiseks, väärtuste võrdlemiseks jms. Näiteks
Integer.parseInt(String s). - Töö generikutega: generikud töötavad ainult objektidega.
Puudused:
- Mälu kasutus: Wrapper objektid võtavad rohkem mälu kui primitiivsed tüübid.
- Töökiiruse langus: automaatne paki- ja väljapakkimine võib veidi vähendada jõudlust.
Näide kogus:
import java.util.ArrayList;
import java.util.List;
public class WrapperExample {
public static void main(String[] args) {
List<Integer> numbers = new ArrayList<>();
numbers.add(10); // Autoboxing
numbers.add(new Integer(20)); // Objekti loomine
int firstNum = numbers.get(0); // Unboxing
System.out.println(firstNum);
}
}