برنامه نویسی

مبانی اتوباکسینگ و روش ها

Summarize this content to 400 words in Persian Lang
تعریف

Autoboxing: تبدیل خودکار یک نوع اولیه به معادل محصورکننده نوع آن (مانند int به عدد صحیح).
Autounboxing: استخراج خودکار مقدار از یک نوع wrapper به نوع اولیه آن (مانند Integer به int).

مزایا

کد را با حذف نیاز به تبدیل های دستی ساده می کند.
در هنگام برخورد با انواع اولیه و کپسولاتورها احتمال خطا را کاهش می دهد.
به استفاده از انواع اولیه در زمینه هایی که اشیاء مورد انتظار هستند اجازه می دهد.

نمونه ای از اتوباکسینگ

Integer iOb = 100; // O valor int 100 é encapsulado automaticamente.

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

بدون اتوباکس (قبل از JDK 5):

Integer iOb = new Integer(100);

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

نمونه اتوآنباکسینگ

int i = iOb; // O valor encapsulado em iOb é extraído automaticamente.

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در اینجا autounboxing (قبل از JDK 5) است:

int i = iOb.intValue();

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

نسخه ی نمایشی اولیه

class AutoBox {
public static void main(String[] args) {
Integer iOb = 100; // Autoboxing
int i = iOb; // Autounboxing

System.out.println(i + ” ” + iOb); // Exibe: 100 100
}
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

استفاده در روش هااتوباکسینگ و پارامترهای روش

static void m(Integer v) {
System.out.println(“m() received ” + v);
}

public static void main(String[] args) {
m(199); // 199 é encapsulado automaticamente em um Integer.
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

Autounboxing و ارزش های بازگشتی

static int m2() {
return 10; // Retorna um int.
}

static Integer m3() {
return 99; // Retorna um Integer (autoboxing de 99).
}

public static void main(String[] args) {
Integer iOb = m2(); // Autoboxing do valor retornado (10).
int i = m3(); // Autounboxing do Integer retornado (99).

System.out.println(“Return value from m2() is ” + iOb);
System.out.println(“Return value from m3() is ” + i);
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مثال کامل

class AutoBox2 {
static void m(Integer v) {
System.out.println(“m() received ” + v);
}

static int m2() {
return 10;
}

static Integer m3() {
return 99;
}

public static void main(String[] args) {
// Autoboxing ao passar argumento
m(199);

// Autoboxing ao atribuir retorno de um int a um Integer
Integer iOb = m2();
System.out.println(“Return value from m2() is ” + iOb);

// Autounboxing ao atribuir retorno de um Integer a um int
int i = m3();
System.out.println(“Return value from m3() is ” + i);

// Autounboxing em operações
iOb = 100;
System.out.println(“Square root of iOb is ” + Math.sqrt(iOb));
}
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

خروج از برنامه

m() received 199
Return value from m2() is 10
Return value from m3() is 99
Square root of iOb is 10.0

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مشاهدات

پارامترها و بازده:

آرگومان‌های ابتدایی به روش‌هایی منتقل می‌شوند که انتظار دارند wrapper‌ها خودکار باشند.
مقادیر بازگردانده شده از روش ها را می توان به طور خودکار در صورت نیاز کپسوله یا استخراج کرد.

نوع تبلیغات:در حین جعبه‌گشایی خودکار، در صورت لزوم، نوع کپسوله‌شده برای برآورده کردن شرایط زمینه ارتقا می‌یابد (مثال: عدد صحیح در Math.sqrt() دو برابر شود).این مفاهیم استفاده از انواع و اشیاء اولیه در جاوا را بصری و کارآمدتر می کند.

تعریف

  • Autoboxing: تبدیل خودکار یک نوع اولیه به معادل محصورکننده نوع آن (مانند int به عدد صحیح).
  • Autounboxing: استخراج خودکار مقدار از یک نوع wrapper به نوع اولیه آن (مانند Integer به int).

مزایا

  • کد را با حذف نیاز به تبدیل های دستی ساده می کند.
  • در هنگام برخورد با انواع اولیه و کپسولاتورها احتمال خطا را کاهش می دهد.
  • به استفاده از انواع اولیه در زمینه هایی که اشیاء مورد انتظار هستند اجازه می دهد.

نمونه ای از اتوباکسینگ

Integer iOb = 100; // O valor int 100 é encapsulado automaticamente.

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

بدون اتوباکس (قبل از JDK 5):

Integer iOb = new Integer(100);

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

نمونه اتوآنباکسینگ

int i = iOb; // O valor encapsulado em iOb é extraído automaticamente.

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در اینجا autounboxing (قبل از JDK 5) است:

int i = iOb.intValue();

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

نسخه ی نمایشی اولیه

class AutoBox {
    public static void main(String[] args) {
        Integer iOb = 100; // Autoboxing
        int i = iOb; // Autounboxing

        System.out.println(i + " " + iOb); // Exibe: 100 100
    }
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

استفاده در روش ها
اتوباکسینگ و پارامترهای روش

static void m(Integer v) {
    System.out.println("m() received " + v);
}

public static void main(String[] args) {
    m(199); // 199 é encapsulado automaticamente em um Integer.
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

Autounboxing و ارزش های بازگشتی

static int m2() {
    return 10; // Retorna um int.
}

static Integer m3() {
    return 99; // Retorna um Integer (autoboxing de 99).
}

public static void main(String[] args) {
    Integer iOb = m2(); // Autoboxing do valor retornado (10).
    int i = m3(); // Autounboxing do Integer retornado (99).

    System.out.println("Return value from m2() is " + iOb);
    System.out.println("Return value from m3() is " + i);
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مثال کامل

class AutoBox2 {
    static void m(Integer v) {
        System.out.println("m() received " + v);
    }

    static int m2() {
        return 10;
    }

    static Integer m3() {
        return 99;
    }

    public static void main(String[] args) {
        // Autoboxing ao passar argumento
        m(199);

        // Autoboxing ao atribuir retorno de um int a um Integer
        Integer iOb = m2();
        System.out.println("Return value from m2() is " + iOb);

        // Autounboxing ao atribuir retorno de um Integer a um int
        int i = m3();
        System.out.println("Return value from m3() is " + i);

        // Autounboxing em operações
        iOb = 100;
        System.out.println("Square root of iOb is " + Math.sqrt(iOb));
    }
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

خروج از برنامه

m() received 199
Return value from m2() is 10
Return value from m3() is 99
Square root of iOb is 10.0

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مشاهدات

پارامترها و بازده:

  • آرگومان‌های ابتدایی به روش‌هایی منتقل می‌شوند که انتظار دارند wrapper‌ها خودکار باشند.
  • مقادیر بازگردانده شده از روش ها را می توان به طور خودکار در صورت نیاز کپسوله یا استخراج کرد.

نوع تبلیغات:
در حین جعبه‌گشایی خودکار، در صورت لزوم، نوع کپسوله‌شده برای برآورده کردن شرایط زمینه ارتقا می‌یابد (مثال: عدد صحیح در Math.sqrt() دو برابر شود).
این مفاهیم استفاده از انواع و اشیاء اولیه در جاوا را بصری و کارآمدتر می کند.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا