title: did kotlin methods'param Int could be modified?
body: <p>the fun of superclass like this：</p>
  <pre><code>fun onTrigger(params: P) {
      if (!funA(params)) {
          return
      }
      val request = funB(params)
  }
  </code></pre>
  <p>funA and funB is abstract fun , implement in subclass like this（the generic P is Int）:</p>
  <pre><code>fun funA(params:Int): Boolean {
      if (params &lt; 0) {
          return false
      }
  }
  
  fun funB(params:Int) {
      val item = dataList[params]
  }
  </code></pre>
  <p>accidental appearance crash:<br />
  java.lang.ArrayIndexOutOfBoundsException: length=10; index=-1</p>
  <p>the params can be -1? why?</p>