কম্পিউটার টিউটোরিয়াল

কোটলিনে ডাবল-ব্যাং (!!) অপারেটর কী?

ওভারভিউ

কোটলিনে, "!!" হলো একটি অপারেটর যাকে ডাবল-ব্যাং (double-bang) অপারেটর বলা হয়। এই অপারেটরটিকে "not-null assertion operator" ও বলা হয়। এই অপারেটরটি যেকোনো মানকে নন-নাল (non-null) টাইপের মানে রূপান্তর করতে ব্যবহৃত হয় এবং যদি সংশ্লিষ্ট মান NULL হয় তবে এক্সেপশন থ্রো করে। নিচের উদাহরণে, আমরা দেখব এই ডাবল-ব্যাং অপারেটর কীভাবে ব্যবহার করা হয়।

উদাহরণ ১

এই উদাহরণে, আমরা একটি ভেরিয়েবল "name" বিবেচনা করব এবং একজন প্রোগ্রামার হিসেবে, আমরা চাই যখনই "name"-এর মান NULL হবে তখন একটি NULL পয়েন্টার এক্সেপশন থ্রো করা হোক। এখন নিচের কোড এক্সিকিউট করুন:

fun main(args: Array<String>) {
    var name: String?
    name = null
    println(name)
}

আউটপুট

null

এই কোড আসলে আমাদের রিকোয়ারমেন্ট সমাধান করছে না। আমরা চাইছিলাম যখন "name"-এর মান NULL হবে তখন NULL পয়েন্টার এক্সেপশন থ্রো করা হোক। চলে ডাবল-ব্যাং অপারেটর (!!) ব্যবহার করে আগের উদাহরণটি সংশোধন করি।

উদাহরণ ২

fun main(args: Array<String>) {
    var name: String?
    name = null
    // ওভারলোড অস্পষ্টতা এক্সেপশন সমাধান করার জন্য কিছু ব্যবহার করা হয়নি
    println(name!! is Nothing?)
}

আউটপুট

রানটাইমে NULL পয়েন্টার এক্সেপশন থ্রো করবে:

Exception in thread "main" java.lang.NullPointerException
    at MainKt.main(main.kt:6)
  1. "My name is Jeff" মিম: বিনোদন উদ্ভব এবং বিস্তার

  2. C#-এ অপারেটর প্রেসিডেন্স কী?

  3. পাইথনের ** অপারেটরের অ্যাসোসিয়েটিভিটি কী?

  4. পাইথনে &= অপারেটর কী করে