Junior
Javaда Wrapper класстары (Wrapper classes) эмне?
sobes.tech AI
AIден жооп
Java-дагы Wrapper класстары — булдар, алар примитивдүү түрлөрдүн объектке негизделген көрүнүшүн камсыздайт. Алар коллекциялар же көптөгөн агымдар менен иштөөдө объекттер керек болгон учурларда primitives маанилерди колдонууга мүмкүндүк берет.
Негизги Wrapper класстары:
ByteShortIntegerLongFloatDoubleBooleanCharacter
Колдонуу мисалдары:
primitives колдонуу:
// primitives түрү
int x = 10;
Wrapper классты колдонуу:
// Wrapper класс
Integer y = new Integer(20); // Эски ыкма
Integer z = 30; // Автобоксинг (примитивти автоматтык түрдө объектке айландыруу)
Между primitives жана Wrapper объекттеринин түрлөрү:
- Автобоксинг: primitives автоматтык түрдө Wrapper объектине айланат.
// Автобоксинг int primitiveInt = 100; Integer wrapperInt = primitiveInt; - Авунboxing: Wrapper объект автоматтык түрдө primitivesке айланат.
// Авунboxing Integer wrapperInteger = new Integer(200); int primitiveInteger = wrapperInteger;
Wrapper класстарынын артыкчылыктары:
- Коллекциялар менен иштөө: (
List,Set,Map) гана объекттерди сактайт. nullмаанилери менен иштөө: Wrapper объекттериnullмааниге ээ болушу мүмкүн, primitives — жок.- пайдалуу ыкмалары: Wrapper класстары жолго айландыруу, маанилерди салыштыруу жана башка ыкмаларды камтыйт. Мисалы,
Integer.parseInt(String s). - Генериктер менен иштөө: Генериктер гана объекттер менен иштейт.
Кемчиликтери:
- Жадыны көп колдонуу: Wrapper объекттери primitivesке караганда көбүрөөк жад талап кылат.
- Иштөө ылдамдыгы төмөндөшү: автоматтык түрдө айландыруу (автобоксинг жана анбоксинг) иштөө ылдамдыгын азайтышы мүмкүн.
Коллекцияда колдонуу мисалы:
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); // Автобоксинг
numbers.add(new Integer(20)); // Объект түзүү
int firstNum = numbers.get(0); // Авунboxing
System.out.println(firstNum);
}
}