<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                **Kotlin中的內聯函數在編譯的時候編譯器便會將相應函數的字節碼插入調用的地方,也就是說,參數類型也會被插入字節碼中,我們就可以獲取參數的類型了**。有關內聯函數的內容可以看一下前面的相應章節。下面我們就用內聯函數來實現一個可以獲取泛型參數的方法: ``` inline fun <reified T> getType() { return T::class.java } ``` **使用內聯函數獲取泛型的參數類型非常簡單,只需加上reified關鍵詞即可。這里的意思相當于,在編譯的會將具體的類型插入相應的字節碼中,那么我們就能在運行時獲取到對應參數的類型了**。所以,我們可以在Kotlin中改進Gson的使用方式: inline fun <reified T : Any> Gson.fromJson(json: String): T { //對Gson進行擴展 return Gson().fromJson(json, T::class.java) } //使用 val json = ... val stringList = Gson().fromJson<List<String>>(json) 這里**利用了Kotlin的擴展特性對Gson進行了功能擴展,在不改變原有類結構的情況下新增方法,很多場景用Kotlin來實現便會變得更加優雅**。有關擴展的相關內容會在第7章講解。 另外需要注意的一點是,**Java并不支持主動指定一個函數是否是內聯函數,所以在Kotlin中聲明的普通內聯函數可以在Java中調用,因為它會被當作一個常規函數;而用reified來實例化的參數類型的內聯函數則不能在Java中調用,因為它永遠是需要內聯的。**
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看