Java中字符串的一些常用操作方法


 

package test;

public class  maintest {
public static void main(String[] args) {
String str = "abcdefg";

//length():統計當前字符串的字符個數
int i = str.length();
System.out.println(i);

//indexOf():查找指定字符再字符串中的位置
int index = str.indexOf("a");
System.out.println(index);

//小寫轉大寫
//toUpperCase():將字符串中的字符變為了大寫形式
String str = str.toUpperCase();
System.out.println(str);

//toLowerCase():將字符串中的字符變為小寫
String str = "WWMMDDHH";
String str1 = str3.toLowerCase();
System.out.println(str);

//substring:截取字符串
String str = "abcdefg";
String str = str5.substring(0, 3);
System.out.println(str);

String str = str5.substring(3);
System.out.println(str);

//replaceAll:替換當前字符串中指定內容
String str = str5.replaceAll("abc", "xyz");
System.out.println(str);

//trim:能夠去掉當前字符串中兩端的空格
String str = " abc def ";
System.out.println(str.length());
String str1 = str9.trim();
System.out.println(str);
System.out.println(str1);

 

//字符串合字符串 + 等於拼接
String str1 = "123";
String str2 = "100";
System.out.println(str1+str2);


//將字符串變為整數
int num1 = Integer.parseInt(str1);
int num2 = Integer.parseInt(str2);
System.out.println(num1+num2);

String str1000 = "abcde";
//charAt:找到指定字符串中位置的字符
char char = str1000.charAt(2);
System.out.println(char);
}

}


 java字符串的比較   轉自https://www.cnblogs.com/liyang/articles/1617528.html

1 總體來說java中字符串的比較是==比較引用,equals 比較值的做法。(equals 對於其他引用類型比較的是地址,這是因為object的equals方法比較的是引用),但是不同的聲明方法字符串的比較結果也是不同的。
    例如:  String str1=new String("a");
        String str2=new String("a");
        str1==str2  輸出false
        str1.equals(str2)  輸出true
    而如果這樣聲明  
        String str1="a";
        String str2="a";
        str1==str2  輸出true
        str1.equals(str2)  輸出true
  這是因為 equals 方法本來也是比較引用的 字符串類在實現的時候重寫了該方法, 第一種聲明方法等於是聲明了兩個對象,用’==‘比較是時候比較的是引用輸出的是false 由於他們的值相同用equals的時候就比較的是值了,輸出true。 
而第二種情況不是因為比較有與第一種有差異,而是因為聲明有差異,第二種聲明方法在聲明的時候有堆或堆棧 共用的現象,也就是說 在聲明的時候如果如果聲明為類屬性他會檢查在堆棧中有沒有與現在聲明的是相同結構的字符串。如果有就直接將地址指向已有內存地址。聲明在方法內部的局部變量原理一樣只不過他是堆棧共享。
    對應上面是示例:
    第一種情況:(1)  聲明一個string類型的對象 str1,這個操作會在內存中示例化一個string類型的對象。
            (2) 再聲明一個String類型的對象str2,這個操作會在內存中示例化另一個String類型的對象,與第一個對象相互獨立。
        (3)比較兩個對象的引用,因為他們是相互獨立的所以輸出false
        (4)比較兩個對象的值,他們雖然是獨立的內存區域但是有共同的內存結構(值),輸出true
    第二種情況:(1)聲明一個字符串str1 會示例化一個String類型的對象。
            (2)聲明另一個字符串 ,現在會檢查在同一作用域中有沒有相同的內存結構的變量,如果有就直接將將地址指向他。
            (3)==比較他們有相同的地址,
            (4)equals比較他們有相同的內存結構(值)。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM