title: What's the difference between !! and ? in Kotlin?
body: <p>I am new to Kotlin. I want to know the difference between this two <code>!!</code> and <code>?</code> in below code.</p>
  
  <p>Below, there are two snippets: the first uses <code>!!</code> for <code>mCurrentDataset</code> and another having <code>?</code> for same variable.</p>
  
  <pre><code>if(!mCurrentDataset!!.load(mDataSetString.get(mCurrentDataSelectionIndex), STORAGE_TYPE.STORAGE_APPRESOURCE))
  {
      Log.d("MyActivity","Failed to load data.")
      return false
  }
  </code></pre>
  
  <hr>
  
  <pre><code>if(!mCurrentDataset?.load(mDataSetString.get(mCurrentDataSelectionIndex), STORAGE_TYPE.STORAGE_APPRESOURCE)!!)
  {
      Log.d("MyActivity","Failed to load data.")
      return false
  }
  </code></pre>