首頁>Club>
2
回覆列表
  • 1 # msiiu884

    首先你要搞清楚的是字串用==比較,是比較兩個字串是不是指向同一個物件。 程式在執行的時候會建立一個字串緩衝池,程式會把字串常量(如程式中的"a","b","ab","a"+"b")放入字串緩衝池中(這裡"ab","a"+"b"是一個物件)。當使用 String s3 = "ab"; String s4 = s1 + s2; String s5 = "a" + "b";這樣的表達是建立字串的時候,程式首先會在這個String緩衝池中尋找相同值的物件,s3先被放到了池中,所以在s5被建立的時候,程式找到了具有相同值的 s3,將s5引用s3所引用的物件"ab"。所以比較s5==s3由於兩個是指向同一個物件,所以為true。 但是在這些賦值中,涉及到變數運算,所以得到的字串物件儲存在各自的記憶體中,不是緩衝池中的s3物件,如 String s4 = s1 + s2; String s6 = s1 + "b"; 所以 儘管s4,s6的值均為"ab",但是 s4==s3,s6==s3返回的結果均為false; 同時s4,s6也不是指向相同的物件,因為他們在不同記憶體中。StringBuffer s7 = new StringBuffer("abc");String s8 = s7.substring(3); //這個方法是從第3個字元取字串,得到的s8為""; 為空字串。 所以s8==s3的結果也為false; 如果相比較兩個字串的值是不是相等,最好用.equals()方法。

  • 2 # maimi32709

    A2"今天的”,B2“天氣”,C2“很好”=A2&B2&C2 (SHIFT+7就&)要加>同樣簡單=A2&">"&B2&">"&C2""是英文的哈!或插入函式 CONCATENATE=CONCATENATE(A2,B2,C2)=CONCATENATE(A2,">",B2,">",C2)

  • 中秋節和大豐收的關聯?
  • “骯髒”用你們的方言怎麼說?