কোটলিনে, "!!" একটি অপারেটর যা ডাবল-ব্যাং অপারেটর হিসাবে পরিচিত। এই অপারেটরটি "নট-নাল অ্যাসারশন অপারেটর" নামেও পরিচিত। এই অপারেটরটি যেকোনো মানকে একটি নন-NULL টাইপ ভ্যালুতে রূপান্তর করতে ব্যবহৃত হয় এবং সংশ্লিষ্ট মানটি NULL হলে এটি একটি ব্যতিক্রম নিক্ষেপ করে। নিম্নলিখিত উদাহরণে, আমরা দেখব কিভাবে এই ডাবল-ব্যাং অপারেটর ব্যবহার করতে হয়।
উদাহরণ 1
এই উদাহরণে, আমরা একটি পরিবর্তনশীল "নাম" বিবেচনা করব এবং একজন প্রোগ্রামার হিসাবে, যখনই "name" এর মান তখনই আমরা একটি NULL পয়েন্টার ব্যতিক্রম ফেলতে চাই NULL হয়। এখন, নিম্নলিখিত কোডটি চালান
fun main(args: Array<String>) { var name: String? name = null println(name) }
আউটপুট
এটি নিম্নলিখিত আউটপুট −
তৈরি করবেnull
এই কোড আসলে আমাদের প্রয়োজনীয় বিবৃতি সমাধান করা হয় না. যখনই "name" এর মান হবে তখনই আমরা একটি NULL পয়েন্টার ব্যতিক্রম ফেলতে চেয়েছিলাম NULL হয়। ডবল-ব্যাং অপারেটর (!!) এর সাহায্যে আমাদের আগের উদাহরণটি পরিবর্তন করা যাক।
উদাহরণ 2
fun main(args: Array<String>) { var name: String? name = null // Nothing has been used to resolve overload ambiguity exception println(name!! is Nothing?) }সমাধান করতে কিছুই ব্যবহার করা হয়নি
আউটপুট
এটি রানটাইমে একটি NULL পয়েন্টার ব্যতিক্রম নিক্ষেপ করবে -
Exception in thread "main" java.lang.NullPointerException at MainKt.main(main.kt:6)