Android
 Computer >> コンピューター >  >> プログラミング >> Android

Kotlinダブルバン(!!)演算子とは何ですか?


Kotlinでは、「!!」ダブルバン演算子として知られている演算子です。この演算子は、「非ヌルアサーション演算子」とも呼ばれます。この演算子は、任意の値をNULL以外の型の値に変換するために使用され、対応する値がNULLの場合は例外をスローします。次の例では、このダブルバン演算子の使用方法を示します。

例1

この例では、変数 "name"を検討します。 プログラマーとして、 "name"の値が常にNULLポインター例外をスローしたいと考えています。 無効である。次に、次のコードを実行します

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

出力

次の出力が生成されます-

null

このコードは、実際には要件ステートメントを解決していません。 "name" の値が常に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)

  1. 私の名前はジェフミームとは何ですか?

    2017年の初めにアプリがシャットダウンする前に、Vineで動画を視聴していた場合は、「私の名前はジェフです」というミームを覚えているかもしれません。今日、映画22ジャンプストリートからのこの有名な引用 TikTokや同様のプラットフォームで引き続きポップアップ表示されます。 「私の名前はジェフ」ミームの起源 「私の名前はジェフです」という行は、22ジャンプストリートのシーンから来ています。 俳優のチャニング・テイタムは、外国のアクセントを偽造しようと非常に懸命に努力しますが、ひどく陽気に失敗します。短いシーンなので、Vineビデオに挿入するのに最適でした(最大6秒)。 YouTubeで「私

  2. C#での演算子の優先順位は何ですか?

    演算子は、特定の数学的または論理的操作を実行するようにコンパイラーに指示する記号です。 演算子の優先順位は、式内の用語のグループ化を決定します。これは、式の評価に影響します。特定の演算子は他の演算子よりも優先順位が高くなります。たとえば、乗算演算子は加算演算子よりも優先されます。 以下は、演算子の優先順位を示す例です- 例 using System; namespace OperatorsAppl {    class Program {       static void Main(string[] args) {   &nbs