কম্পিউটার

জাভা 9-এ একটি ঐচ্ছিক ক্লাসে নতুন পদ্ধতিগুলি কী যোগ করা হয়েছে?


একটি ঐচ্ছিক ক্লাস একটি ধারক প্রদান করে যাতে একটি নন-নাল থাকতে পারে বা নাও থাকতে পারে মান এই ঐচ্ছিক ক্লাসটি জাভা 8 এ চালু করা হয়েছে কোডে এমন জায়গার সংখ্যা কমাতে যেখানে একটি NullPointerException উৎপন্ন হতে পারে। Java 9 ঐচ্ছিক ক্লাসে তিনটি নতুন পদ্ধতি যোগ করেছে:বা() , ifPresentOrElse() এবং স্ট্রিম() যা আমাদেরকে ডিফল্ট মোকাবেলা করতে সাহায্য করে মান।

Optional.or()

দি বা()৷ জাভা 9 এ প্রবর্তিত পদ্ধতি এবং এই পদ্ধতির প্যারামিটার হল একটি কার্যকরী ইন্টারফেস সরবরাহকারী . এই পদ্ধতিটি সর্বদা আমাদের একটি ঐচ্ছিক দেয় বস্তু যা খালি নয়। ঐচ্ছিক বস্তুটি খালি না থাকলে, এটি ঐচ্ছিক প্রদান করে বস্তু নিজেই অন্যথায়, এটি একটি ঐচ্ছিক বস্তু প্রদান করে যেটি সরবরাহকারী তৈরি করে।

উদাহরণ

import java.io.IOException;
import java.util.Optional;
public class OptionalOrMethodTest {
   public static void main(String[] args) throws IOException {
      String str = null;
      Optional<String> opt = Optional.ofNullable(str);
      Optional<String> result = opt.or(() -> Optional.of("Adithya"));
      System.out.println(result);
   }  
}

আউটপুট

Optional[Adithya]


Optional.ifPresentOrElse()

দি ifPresentOrElse()৷ জাভা 9-এ প্রবর্তিত পদ্ধতি। এটি ifPresent() এর অনুরূপ একটি পার্থক্য সহ পদ্ধতি হল যে আমরা আরও একটি চালানযোগ্য যোগ করেছি প্যারামিটার ক্ষেত্রে, যদি একটি ঐচ্ছিক বস্তুটি খালি, চালাতে যোগ্য এর বস্তু ইন্টারফেস চালানো যেতে পারে।

উদাহরণ

import java.util.Optional;
public class OptionalIfPresentOrElseTest {
   public static void main(String[] args) {
      String str = null;
      Optional<String> opt = Optional.ofNullable(str);
      opt.ifPresentOrElse(
            x -> System.out.println(x),
            () -> System.out.println("No value"));
   }
}

আউটপুট

No value


Optional.stream()

The Optional.stream()৷ জাভা 9 থেকে পদ্ধতিটি সমর্থিত। এই পদ্ধতিটি একটি ঐচ্ছিক থেকে একটি নতুন স্ট্রিম অবজেক্ট তৈরি করতে ব্যবহার করা যেতে পারে। বস্তু যদি একটি ঐচ্ছিক বস্তুতে একটি মান থাকে, তবে এটি সেই মান ধারণকারী স্ট্রীম অবজেক্টটি ফেরত দেয়।

উদাহরণ

import java.io.IOException;
import java.util.List;
import java.util.Optional;
import java.util.stream.Stream;
public class OptionalStreamMethodTest {
   public static void main(String[] args) throws IOException {
      List<Optional<String>> list = List.of(
            Optional.of("Jai"),
            Optional.empty(),
            Optional.of("Adithya"));
      Stream<String> stream = list.stream().flatMap(Optional::stream);
      stream.forEach(System.out::println);
   }
}

আউটপুট

Jai
Adithya

  1. জাভা 9-এ @অপ্রচলিত টীকা-এর উন্নতি কী?

  2. জাভাতে কার্সার ক্লাসের গুরুত্ব কী?

  3. জাভাতে থ্রোয়েবল ক্লাস এবং এর পদ্ধতির গুরুত্ব কী?

  4. জাভাতে বিভিন্ন ধরনের ক্লাস কি কি?