<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## String: 字符串類型——[kotlin.String](https://www.w3cschool.cn/doc_kotlin/kotlin-api-latest-jvm-stdlib-kotlin--string-index.html?lang=en) [TOC] Kotlin的字符串用 String 類型表示。對應Java中的 java.lang.String 。字符串是不可變的。另外,在Kotlin中,String同樣是final不可繼承的。 ![](https://box.kancloud.cn/58023925f2b68f997ceca2e528770fda_373x175.png) ### 重載 + 操作符 從上圖可以看出:字符串類重載了 + 操作符,作用對象可以是任何對象,包括空引用 ``` fun main(args: Array<String>) { println("abc".plus(true))//abctrue println("abc"+false)//abcfalse println("abc"+1)//abc1 println("abc"+1.20)//abc1.2 println("abc"+100L)//abc100 println("abc"+"cdef")//abccdef println("abc"+'z')//abcz println("abc"+arrayOf(1,2,3,4,5))//abc[Ljava.lang.Integer;@5e481248 } ``` ### 索引運算符 s[i] 字符串的元素——字符可以使用索引運算符 s[i] 來訪問。 ~~~ val str1: String = "abcdefghijk" println(str1[2])//c println(str1[-1])//下標越界 ~~~ 上面下標越界,報錯 ``` Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1 at java.lang.String.charAt(String.java:658) ``` 可以看出,索引運算符 s[i] 會被翻譯成 java.lang.String.charAt() , 背后調用的是Java的String類。其調用的方法是 ~~~ public char charAt(int index) { if ((index < 0) || (index >= value.length)) { throw new StringIndexOutOfBoundsException(index); } return value[index]; } ~~~ ### 不同的種類 在Kotlin 中,使用String表示字符串類型,有如下兩類字符串: * **普通字符串**:這種字符串類似于Java,可以在字符串中加上轉義符,如\n,會讓轉義符后面的字符串換到下一行,這種字符串**需要放在雙引號中**。 * **保留原始格式的字符串(raw string)**:這種字符串不能使用轉義符,如果字符串中帶有格式,如換行,直接寫在字符串中即可。這種字符串**需要放在3個引號對中,無論引號間是什么,都會是它原原本本的值,** 示例 ``` fun main(args: Array<String>){ //第一類字符串(與Java類似) var s1="hello \n world" var s2:String="世界\n你好" println(s1) println(s2) // 第二類字符串,保留原始格式 var s3=""" hello world I love you """ println(s3) val rawString = """ fun helloWorld(val name : String) { println("Hello, world!") } """ println(rawString) } ``` 輸出結果 ``` hello world 世界 你好 hello world I love you fun helloWorld(val name : String) { println("Hello, world!") } ``` 可以? + 操作符連接字符串。這也適?于連接字符串與其他類型的值, 只要表達式中的第?個元素是字符串: ``` val s = "abc" + 1 println(s + "def") ``` >[info]注意:在?多數情況下,優先使?字符串模板或原始字符串?不是字符串連接。 ### Kotlin相比于Java | 相比于java | 描述????????????| | ------- | ------------- | | 增強??????| 字符串可以遍歷???????| | 差異??????| split傳入參數不是正則 | | 增強??????| 拆分支持多字符???????| | 增強??????| 字符串截圖多了很多方法???| | 增強??????| 去空格多了方法???????| | 增強??????| 支持三重引號,格式輸出方便??| | 增強??????| 字符串模板,拼接字符串更強大 |
                  <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>

                              哎呀哎呀视频在线观看