溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

10中java常見字符串操作實例

發(fā)布時間:2020-10-09 09:04:02 來源:腳本之家 閱讀:133 作者:angryTom 欄目:編程語言

java String 類 字符串廣泛應(yīng)用 在 Java 編程中,在 Java 中字符串屬于對象,Java 提供了 String 類來創(chuàng)建和操作字符串。今天就為大家介紹一下java常見的字符串操作方法。

一、使用length()方法獲取字符串的長度

public class maintest {

  public static void main(String[] args) {

    String str = "abcdefg";

    //length():統(tǒng)計當(dāng)前字符串的字符個數(shù)

    int i = str.length();

    System.out.println(i);

    }

  }

二、使用indexOf()方法查找指定字符再字符串中的位置

public class maintest {

  public static void main(String[] args) {

    String str = "abcdefg";

    //indexOf():查找指定字符再字符串中的位置

    int index = str.indexOf("a");

    System.out.println(index);

    }

   }

三、使用toUpperCase()方法將字符串中的字符變?yōu)榱舜髮懶问?/p>

public class maintest {

  public static void main(String[] args) {

    String str = "abcdefg";

    //小寫轉(zhuǎn)大寫

    //toUpperCase():將字符串中的字符變?yōu)榱舜髮懶问?
    String str = str.toUpperCase();

    System.out.println(str);

    }

    }

四、使用toLowerCase()方法將字符串中的字符變?yōu)樾?/p>

public class maintest {

  public static void main(String[] args) {

    //toLowerCase():將字符串中的字符變?yōu)樾?
    String str = "WWMMDDHH";

    String str1 = str3.toLowerCase();

    System.out.println(str);

    }

   }

五、使用substring()方法截取字符串

public class maintest {

  public static void main(String[] args) {

    String str = "abcdefg";

    //substring:截取字符串

    String str = "abcdefg";

    String str = str5.substring(0, 3);

    System.out.println(str);

    String str = str5.substring(3);

    System.out.println(str);

   }

  }

六、使用replaceAll()方法替換當(dāng)前字符串中指定內(nèi)容

public class maintest {

  public static void main(String[] args) {

    String str = "abcdefg";

    String str = str5.replaceAll("abc", "xyz");

    System.out.println(str);

    }

   }

七、使用trim()方法能夠去掉當(dāng)前字符串中兩端的空格

public class maintest {

  public static void main(String[] args) {

    String str = " abc def ";

    System.out.println(str.length());

    String str1 = str9.trim();

    System.out.println(str);

    System.out.println(str1);

  }

 }

八、字符串+字符串 等于拼接

public class maintest {

  public static void main(String[] args) {

    String str1 = "123";

    String str2 = "100";

    System.out.println(str1+str2);

  }

 }

九、將字符串變?yōu)檎麛?shù)

public class maintest {

  public static void main(String[] args) {

    String str1 = "123";

    String str2 = "100";

    int num1 = Integer.parseInt(str1);

    int num2 = Integer.parseInt(str2);

    System.out.println(num1+num2);

  }

 }

十、使用charAt()找到指定字符串中位置的字符

public class maintest {

  public static void main(String[] args) {

    String str1000 = "abcde";

    //charAt:找到指定字符串中位置的字符

    char char = str1000.charAt(2);

    System.out.println(char);

  }

  }

 java字符串的比較

總體來說java中字符串的比較是==比較引用,equals 比較值的做法。(equals 對于其他引用類型比較的是地址,這是因為object的equals方法比較的是引用),但是不同的聲明方法字符串的比較結(jié)果也是不同的。

例如:

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 方法本來也是比較引用的 字符串類在實現(xiàn)的時候重寫了該方法, 第一種聲明方法等于是聲明了兩個對象,用'==‘比較是時候比較的是引用輸出的是false 由于他們的值相同用equals的時候就比較的是值了,輸出true。

而第二種情況不是因為比較有與第一種有差異,而是因為聲明有差異,第二種聲明方法在聲明的時候有堆或堆棧 共用的現(xiàn)象,也就是說 在聲明的時候如果如果聲明為類屬性他會檢查在堆棧中有沒有與現(xiàn)在聲明的是相同結(jié)構(gòu)的字符串。如果有就直接將地址指向已有內(nèi)存地址。聲明在方法內(nèi)部的局部變量原理一樣只不過他是堆棧共享。
對應(yīng)上面是示例:

第一種情況:

(1) 聲明一個string類型的對象 str1,這個操作會在內(nèi)存中示例化一個string類型的對象。
(2) 再聲明一個String類型的對象str2,這個操作會在內(nèi)存中示例化另一個String類型的對象,與第一個對象相互獨立。
(3)比較兩個對象的引用,因為他們是相互獨立的所以輸出false
(4)比較兩個對象的值,他們雖然是獨立的內(nèi)存區(qū)域但是有共同的內(nèi)存結(jié)構(gòu)(值),輸出true

第二種情況:

(1)聲明一個字符串str1 會示例化一個String類型的對象。
(2)聲明另一個字符串 ,現(xiàn)在會檢查在同一作用域中有沒有相同的內(nèi)存結(jié)構(gòu)的變量,如果有就直接將將地址指向他。
(3)==比較他們有相同的地址,
(4)equals比較他們有相同的內(nèi)存結(jié)構(gòu)(值)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI