最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2019年07月18日 08:46:22   作者:angryTom  
給大家分享10中java常見字符串操作方法以及相關(guān)實例代碼,對此有需要的讀者們可以學(xué)習(xí)參考下。

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)(值)。

相關(guān)文章

  • linux系統(tǒng)下java項目在后臺啟動的4種方式總結(jié)

    linux系統(tǒng)下java項目在后臺啟動的4種方式總結(jié)

    Linux是集多種功能于一身的操作系統(tǒng),它可以讓用戶查看和管理當(dāng)下正在運行的進程,包括Java程序,這篇文章主要給大家總結(jié)介紹了關(guān)于linux系統(tǒng)下java項目在后臺啟動的4種方式,需要的朋友可以參考下
    2023-10-10
  • SpringBoot項目中只執(zhí)行一次的任務(wù)寫法實現(xiàn)

    SpringBoot項目中只執(zhí)行一次的任務(wù)寫法實現(xiàn)

    有時候我們需要進行初始化工作,就說明只要進行一次的工作,本文主要介紹了SpringBoot項目中只執(zhí)行一次的任務(wù)寫法實現(xiàn),感興趣的可以了解一下
    2023-12-12
  • java處理異常的機制關(guān)鍵字throw和throws使用解析

    java處理異常的機制關(guān)鍵字throw和throws使用解析

    這篇文章主要介紹了java處理異常的機制關(guān)鍵字throw和throws使用解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • Netty與Spring Boot的整合實現(xiàn)

    Netty與Spring Boot的整合實現(xiàn)

    這篇文章主要介紹了Netty與Spring Boot的整合的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • elasticsearch開發(fā)中data-streams使用解析

    elasticsearch開發(fā)中data-streams使用解析

    這篇文章主要為大家介紹了elasticsearch開發(fā)中data-streams使用解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • Java線程中的Timer和TimerTask原理詳解

    Java線程中的Timer和TimerTask原理詳解

    這篇文章主要介紹了Java線程中的Timer和TimerTask原理詳解,Timer和TimerTask成對出現(xiàn),Timer是定時器,TimerTask是定時任務(wù),換句話說,定時任務(wù)TimerTask是給定時器Timer執(zhí)行的具體任務(wù),需要的朋友可以參考下
    2023-10-10
  • Java的Finalizer引發(fā)的內(nèi)存溢出問題及解決

    Java的Finalizer引發(fā)的內(nèi)存溢出問題及解決

    本文介紹了Java中的Finalizer機制,解釋了當(dāng)類實現(xiàn)finalize()方法時,JVM的行為和潛在的風(fēng)險,通過一個示例程序,展示了實現(xiàn)finalize()方法會導(dǎo)致大量對象存活,最終引發(fā)OutOfMemoryError,文章分析了GC日志,解釋了Finalizer線程和主線程之間的競爭
    2025-03-03
  • Java?Agent?(代理)探針技術(shù)詳情

    Java?Agent?(代理)探針技術(shù)詳情

    這篇文章主要介紹了Java?Agent?探針技術(shù)詳情,Java?中的?Agent?技術(shù)可以讓我們無侵入性的去進行代理,最常用于程序調(diào)試、熱部署、性能診斷分析等場景,下文更多相關(guān)資料,感興趣的小伙伴可以參考一下
    2022-04-04
  • 解決Java 部署Tomcat時使用jni和jna調(diào)用DLL文件的問題

    解決Java 部署Tomcat時使用jni和jna調(diào)用DLL文件的問題

    這篇文章主要介紹了解決Java 部署Tomcat時使用jni和jna調(diào)用DLL文件的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Java Robot應(yīng)用示例之機器人功能

    Java Robot應(yīng)用示例之機器人功能

    這篇文章主要為大家詳細介紹了Java Robot應(yīng)用示例之機器人功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01

最新評論

陆良县| 威海市| 二连浩特市| 靖远县| 平陆县| 依安县| 宕昌县| 苍溪县| 巴林左旗| 岳普湖县| 简阳市| 张家川| 安平县| 浠水县| 神池县| 丹寨县| 闵行区| 崇义县| 乌审旗| 宜州市| 霸州市| 民乐县| 铁力市| 敦煌市| 中西区| 湄潭县| 平乡县| 襄垣县| 松阳县| 宁津县| 宁乡县| 凤冈县| 高要市| 手游| 扎兰屯市| 石河子市| 余姚市| 根河市| 长垣县| 巴马| 盐池县|