آموزشمطالب ویژه

سری مطالب آموزش جاوا ۸ – بخش هفتم کلاس‌های Optional

 

 

  1. static <T> Optional<T> of(T value)

کد بالا یک Optional با مقدار غیر Null بخصوص بازمی‌گرداند.

 

  1. static <T> Optional<T> ofNullable(T value)

کد بالا یک Optional با مقداری مشخص بازمی‌گرداند (اگر غیر Null باشد) در غیر‌این‌صورت یک Optional خالی باز‌می‌گرداند.

 

  1. T orElse(T other)

اگر مقداری حاضر باشد آن را برمی‌گرداند و درغیر این صورت می‌تواند چیزهای دیگری بازگرداند.

 

  1. T orElseGet(Supplier<? extends T> other)

اگر مقداری حاضر باشد آن را بازمی‌گرداند درغیر این ‌صورت چیزهای دیگری را صدا می‌زند و نتیجه آن صدازدن را بازمی‌گرداند.

 

 

  1. <X extends Throwable> T orElseThrow(Supplier<? extends X> exceptionSupplier)

کد بالا مقدار موجود را بازمی‌گرداند (اگر حاضر باشد) و در غیر این ‌صورت وقفه‌ای را توسط supplier ارائه‌شده، ایجاد کرده و throws می‌کند.

 

 

  1. String toString()

یک رشته غیر خالی را که نمایش‌دهنده این Optional و مناسب برای debugging است، بازمی‌گرداند.

 

کلاس Optional متدهای کلاس زیر را به ارث می‌برد:

    java.lang.Object

 

 

مثالی از کلاس Optional

یک برنامه جاوا با استفاده از هر ویرایشگری در دایرکتوریِ فرضاً C:\> JAVA ایجاد کنید.

Java8Tester.java

import java.util.Optional;

public class Java8Tester {

   public static void main(String args[]) {

      Java8Tester java8Tester = new Java8Tester();

      Integer value1 = null;

      Integer value2 = new Integer(10);

 

      //Optional.ofNullable –                         اجازه می‌دهد پارامترهای پاس داده شده مقدار نال داشته باشند

      Optional<Integer> a = Optional.ofNullable(value1);

     //Optional.of –

اگر پارامتر پاس داده‌شده null باشد وقفه NullPointerException را throws می‌کند//

      Optional<Integer> b = Optional.of(value2);

      System.out.println(java8Tester.sum(a,b));

   }

 

   public Integer sum(Optional<Integer> a, Optional<Integer> b) {

      //Optional.isPresent – بررسی می‌کند که مقدار حاضر است یا خیر

 

      System.out.println(“First parameter is present: ” + a.isPresent());

      System.out.println(“Second parameter is present: ” + b.isPresent());

 

      //Optional.orElse – اگر مقداری حاضر باشد آن را بازمی‌گرداند درغیراین‌صورت مقدار پیش‌فرض پاس داده می‌شود.

      Integer value1 = a.orElse(new Integer(0));

 

      //Optional.get – مقدار را می‌گیرد، مقدار باید حاضر باشد

      Integer value2 = b.get();

      return value1 + value2;

   }

}

 

تائید نتیجه

کلاس را با استفاده از کامپایلر javac همان‌گونه که در ادامه می‌آید کامپایل کنید:

C:\JAVA>javac Java8Tester.java

 

حالا کلاس Java8Tester را به شکل زیر اجرا کنید:

C:\JAVA>java Java8Tester

 

این کلاس باید خروجی زیر را داشته باشد:

First parameter is present: false

Second parameter is present: true

بخش‌های دیگر مقاله را از لینک‌های زیر دنبال کنید:

سری مطالب آموزش جاوا ۸ – بخش هفتم کلاس‌های Optional (قسمت اول)

 

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

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

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

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