免费爱碰视频在线观看,九九精品国产屋,欧美亚洲尤物久久精品,1024在线观看视频亚洲

      Java使用類-String

      Java使用類-String

      1、String

      1.1 String 實例化

      String str1 = “xxx”;

      String string1 = “hello KH96”;System.out.println(string1); //hello KH96

      String str1 = new String(“xxx”);

      String string2 = “hello KH96”;System.out.println(string2); //hello KH96

      String底層實現(xiàn) private final char value[];

      String底層是由 私有final 的數(shù)組實現(xiàn)的,對外沒有提供修改的方法字符串多次賦值,不是修改字符串的內(nèi)容,而是 改變字符串的引用地址 ;

      源碼

      1.2 String常用方法

      方法

      說明

      length()

      字符串的長度

      equals()

      比較的是字符串的內(nèi)容

      equalsIgnoreCase(String str)

      忽略大小比較

      toUpperCase()

      轉(zhuǎn)大寫

      toLowerCase()

      轉(zhuǎn)小寫

      concat(String str)

      返回拼接后的字符串

      length()

      字符串的長度:length()方法,返回的是字符串的長度,即字符串的長度(不是字節(jié)數(shù)),區(qū)別去數(shù)組的length

      String string1 = “hello KH96”;System.out.println(string1+”的長度:”+string1.length()); //hello KH96的長度:10

      equals()

      重寫了Object類的equals方法,比較的是字符串的內(nèi)容,不是對象

      String string2 = “KH96”;String string3 = “KH97”;System.out.println(string2.equals(string3)); //false

      equalsIgnoreCase(String str)

      忽略大小比較

      String string7 = “kh96”;String string8 = “KH96”;System.out.println(“不忽略大小寫比較:”+string7.equals(string8)); //falseSystem.out.println(“忽略大小寫比:”+string7.equalsIgnoreCase(string8)); //true

      toUpperCase() 轉(zhuǎn)大寫 toLowerCase() 轉(zhuǎn)小寫

      String string9 = “abCD”;System.out.println(string9.toUpperCase()); //ABCDSystem.out.println(string9.toLowerCase());//abcd

      concat(String str) 返回拼接后的字符串

      “+”號也可以進(jìn)行字符串拼接

      concat(String str)

      拼接字符串都創(chuàng)建了新的對象,在循環(huán)中盡量不要拼接字符串,會造成棧溢出;

      String strig10 = “abc”;System.out.println(strig10.concat(“bcd”).concat(“def”));//abcbcddef

      1.3 String 字符查找/提取相關(guān)方法

      方法

      說明

      indexOf(String str)

      返回str首次出現(xiàn)的下標(biāo)

      lastIndexOf(String str)

      返回str最后一次出現(xiàn)的下標(biāo)

      substring(int index1)

      截取下標(biāo)index1,及以后的所有字符

      substring(int index1,int index2)

      截取下標(biāo)index1到index2之間的字符串,包括index1, 不包括 index2

      trim()

      去除字符串的 首尾 空格

      startsWith(String str)

      是否以str開頭

      endsWith(String str)

      是否以str結(jié)尾

      contains(String str)

      是否包含str

      split(String str)

      根據(jù)指定分割字符,將字符串拆分成字符串?dāng)?shù)組返回

      toCharArray()

      將字符串轉(zhuǎn)為字符數(shù)組

      replace(String str1,String str2)

      用 str2 替換 str1

      getBytes()

      字符串轉(zhuǎn)換為字節(jié)數(shù)組

      getBytes(“UTF-8”)

      字符串轉(zhuǎn)換為字節(jié)數(shù)組,可指定編碼

      new String(byte[] bytes)

      將字節(jié)數(shù)組轉(zhuǎn)換為字符串

      indexOf(String str)

      返回str首次出現(xiàn)的下標(biāo),沒有查到就返回-1

      String string11 = “I am a good student in kh96”;System.out.println(“good首次出現(xiàn)的位置:”+string11.indexOf(“good”)); //7

      還可以通過ascii碼值查詢

      String string11 = “I am a good student in kh96”;char char1 = 97;System.out.println(char1); //aSystem.out.println(“參數(shù)支持int assic碼值:”+string11.indexOf(97)); //2

      lastIndexOf(String str)

      返回str最后一次出現(xiàn)的下標(biāo),沒有就返回-1

      String string11 = “I am a good student in kh96”;System.out.println(string11);System.out.println(“t最后一次出現(xiàn)的下標(biāo):”+string11.lastIndexOf(“t”)); //18

      substring(int index1)

      截取下標(biāo)index1,及以后的所有字符

      index的范圍[0,string.length()]

      String string12 = “abcdefghijklmn”;System.out.println(string12.substring(5)); //fghijklmn

      substring(int index1,int index2)

      截取下標(biāo)index1到index2之間的字符串,包括index1, 不包括 index2

      index的范圍[0,string.length()]

      String string12 = “abcdefghijklmn”;System.out.println(string12.substring(5,8)); //fgh

      小應(yīng)用

      String string14 = “KH90,KH91,KH92,KH93,KH94,KH95,”;System.out.println(string14.substring(0,string14.lastIndexOf(“,”)));//KH90,KH91,KH92,KH93,KH94,KH95

      trim()

      去除字符串的 首尾 空格

      String string13 = ” KH 96 “;System.out.println(“原始長度”+string13.length()); //10System.out.println(“取出空格后長度”+string13.trim().length()); //6 “KH 96”

      startsWith(String str) endsWith(String str)

      startsWith(String str) 是否以str開頭

      endsWith(String str) 是否以str結(jié)尾

      String string15 = “KH96.mp3”;System.out.println(“是否是KH開頭?”+ string15.startsWith(“KH”)); //trueSystem.out.println(“是否是.mp3結(jié)尾?”+ string15.endsWith(“.mp3”)); //true

      contains(String str)

      判斷字符串是否包含str

      String string16 = “aaa bbb cc ddd”;System.out.println(“是否包含bbb:”+ string16.contains(“bbb”)); //trueSystem.out.println(“是否包含eee:”+ string16.contains(“eee”)); //false

      split(String str)

      根據(jù)指定分割字符,將字符串拆分成字符串?dāng)?shù)組返回

      String string17_1 = “13501020304;15801020304;18901020304”;String[] phoneNumbers1 = string17_1.split(“;”); //一種字符分割System.out.println(“手機(jī)號數(shù)組內(nèi)容:”+ Arrays.toString(phoneNumbers2));String string17_2 = “13501020304;15801020304!18901020304”;String[] phoneNumbers2 = string17_2.split(“;|!”); //多種字符分割 用 | 隔開System.out.println(“手機(jī)號數(shù)組內(nèi)容:”+ Arrays.toString(phoneNumbers2));//[13501020304, 15801020304, 18901020304]

      toCharArray()

      將字符串轉(zhuǎn)為字符數(shù)組

      char[] chars1 = string18.toCharArray();System.out.println(Arrays.toString(chars1)); //[K, H, 9, 8, 正, 在, 學(xué), 習(xí), 實, 用, 類]

      replace(String str1,String str2)

      用 str2 替換 str1

      //獲取一個16位的隨機(jī)字符串 String string19 = UUID.randomUUID().toString();System.out.println(string19); //65c0844a-c437-4a65-89ca-84d4166325ff//轉(zhuǎn)換字符串,將-轉(zhuǎn)換為*System.out.println(string19.replace(“-“,”*”));//65c0844a*c437*4a65*89ca*84d4166325ff//去除字符串,將所有的-去除System.out.println(string19.replace(“-“,””));//65c0844ac4374a6589ca84d4166325ff//去16位隨機(jī)數(shù)System.out.println(string19.replace(“-“,””).substring(0,16));//65c0844ac4374a65

      getBytes() getBytes(“UTF-8”)

      字符串轉(zhuǎn)換為字節(jié)數(shù)組

      String string20 = “abcd”;//getBytes() 沒有指定編碼byte[] bytes = string20.getBytes(); try { //getBytes(“UTF-8”) 指定編碼 byte[] bytes2 = string20.getBytes(“UTF-8”); System.out.println(Arrays.toString(bytes2)); //[97, 98, 99, 100]} catch (UnsupportedEncodingException e) { e.printStackTrace();}System.out.println(Arrays.toString(bytes)); //Arrays.toString(bytes)

      new String(byte[] bytes)

      將字節(jié)數(shù)組轉(zhuǎn)換為字符串

      byte[] bytes3 ={100,101,102}; //ascii碼值System.out.println(new String(bytes3)); //def//配合上面getBytes進(jìn)行轉(zhuǎn)碼try { System.out.println(new String(bytes3,”utf-8″)); //可以指定編碼 def} catch (UnsupportedEncodingException e) { e.printStackTrace();}char[] chars3 = {‘K’,’H’,’9′,’6′};System.out.println(new String(chars3));//KH96

      2、StringBuffer

      可變字符串類:StringBuffer

      不同于String類:可以實現(xiàn)動態(tài)拼接字符串,而不會創(chuàng)建新的對象;

      即:是一個可變字符串的對象,改變的是字符串對象中的內(nèi)容;

      不可以直接賦值,必須通過new創(chuàng)建對象;

      2.1 StringBuffer實例化

      new StringBuffer()

      默認(rèn)初始容量 16

      StringBuffer sbf1 = new StringBuffer();System.out.println(“默認(rèn)初始容量:”+sbf1.capacity());//16

      底層實現(xiàn)

      //StringBuffer()public StringBuffer() { super(16); //初始容量16 }//AbstractStringBuilder(int capacity)AbstractStringBuilder(int capacity) { value = new char[capacity];}

      new StringBuffer(int capacity)

      指定初始容量

      StringBuffer sbf2 = new StringBuffer(32);System.out.println(“只定始容量:”+sbf2.capacity()); //32

      底層實現(xiàn)

      public StringBuffer(int capacity) {super(capacity); //指定初始容量}

      StringBuffer(String str)

      指定初始字符串,容量為字符串長度+16

      StringBuffer sbf3 = new StringBuffer(“Kh96”);System.out.println(“指定初始字符串初始容量:”+sbf3.capacity()); //20

      底層實現(xiàn)

      public StringBuffer(String str) { super(str.length() + 16); //容量為字符串長度+16 append(str);}

      2.2 StringBuffer常用方法

      append(String str)

      拼接字符串

      StringBuffer sbf4 = new StringBuffer(“userId=”);sbf4.append(“U0001”) .append(“,userName=”) .append(“張三,age=”) .append(“18”); //userId=U0001,userName=張三,age=18

      擴(kuò)容機(jī)制

      底層擴(kuò)容,當(dāng)拼接一個新的字符串,字符串?dāng)?shù)組長度不夠,會進(jìn)行動態(tài)擴(kuò)容,

      每次擴(kuò)容都是前一個數(shù)組長度的2倍+2

      最大擴(kuò)容長度不能超過Integer的最大值 – 8;

      void expandCapacity(int minimumCapacity) { int newCapacity = value.length * 2 + 2; //每次擴(kuò)容都是前一個數(shù)組長度的2倍+2 if (newCapacity – minimumCapacity < 0) newCapacity = minimumCapacity; if (newCapacity < 0) { if (minimumCapacity < 0) // overflow throw new OutOfMemoryError(); newCapacity = Integer.MAX_VALUE; } value = Arrays.copyOf(value, newCapacity);}

      toString()

      獲取動態(tài)字符串內(nèi)容

      StringBuffer sbf4 = new StringBuffer(“userId=”);sbf4.append(“U0001”) .append(“,userName=”) .append(“張三,age=”) .append(“18”);String userInfo = sbf4.toString(); System.out.println(userInfo); //userId=U0001,userName=張三,age=18

      3、StringBuilder

      用法和StringBuffer沒有區(qū)別,唯一的區(qū)別就是StringBuffer是 線程安全的 ,StringBuilder是 非線程安全的 ;

      鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
      用戶投稿
      上一篇 2022年6月20日 13:07
      下一篇 2022年6月20日 13:07

      相關(guān)推薦

      • 分享4條發(fā)微商朋友圈的方法(微商朋友圈應(yīng)該怎么發(fā))

        對于微商朋友來說,朋友圈的重要性不言而喻了。 那么微商的朋友圈到底該怎么發(fā)呢? 為什么同樣是經(jīng)營一個朋友圈,有的微商看起來逼格滿滿,實際效果也不錯;而有的卻動都不動就被屏蔽甚至拉黑…

        2022年11月27日
      • 短視頻策劃內(nèi)容的3個要點(短視頻策劃內(nèi)容怎么做)

        短視頻在制作時,內(nèi)容框架非常重要。如果直奔主題,然后結(jié)束,聚卓告訴你,這樣的短視頻已經(jīng)過時了?,F(xiàn)在的短視頻需要框架的,但不是任何框架,它需要一種易于理解和消化的框架。而且,現(xiàn)在大多…

        2022年11月27日
      • 存儲過程語法(sql server存儲過程語法)

        今天小編給各位分享存儲過程語法的知識,其中也會對sql server存儲過程語法進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧! oracle存儲過程基本語法…

        2022年11月26日
      • 《寶可夢朱紫》夢特性怎么獲得?隱藏特性獲取方法推薦

        寶可夢朱紫里有很多寶可夢都是擁有夢特性會變強(qiáng)的寶可夢,很多玩家不知道夢特性怎么獲得,下面就給大家?guī)韺毧蓧糁熳想[藏特性獲取方法推薦,感興趣的小伙伴一起來看看吧,希望能幫助到大家。 …

        2022年11月25日
      • 《寶可夢朱紫》奇魯莉安怎么進(jìn)化?奇魯莉安進(jìn)化方法分享

        寶可夢朱紫中的奇魯莉安要怎么進(jìn)化呢?很多玩家都不知道,下面就給大家?guī)韺毧蓧糁熳掀骠斃虬策M(jìn)化方法分享,感興趣的小伙伴一起來看看吧,希望能幫助到大家。 奇魯莉安進(jìn)化方法分享 奇魯莉安…

        2022年11月25日
      • 小紅書平臺的一些機(jī)制及玩法詳解(小紅書玩法有哪些)

        關(guān)于小紅書 一:小紅書平臺的一些機(jī)制 1. 筆記內(nèi)容的CES評分機(jī)制 2. 筆記流量入口與長尾效應(yīng) 二:小紅書優(yōu)質(zhì)筆記的特點(分維度、類型分析) 1.筆記的本身架構(gòu)組成 維度 2.…

        2022年11月25日
      • 博客營銷的3大優(yōu)勢解析(博客營銷怎么做)

        不知不覺已經(jīng)寫了24篇文章,加上這篇是第25篇了,都是自己這幾年來用過的營銷方法,如果遇到有些不懂的,我會咨詢我的朋友和同事幫忙,盡量讓每一篇有價值,哪怕是對大家有一點點幫助也行,…

        2022年11月25日
      • 什么是內(nèi)容營銷策略如何策劃一套成功的內(nèi)容營銷策略

        很多時候,營銷人員會在創(chuàng)作營銷內(nèi)容時感到沮喪,這也是很多企業(yè)至今沒用好數(shù)字化營銷工具的重要原因之一。 舉個例子,您可能會花上數(shù)小時期待制作一些令人驚嘆的東西,實際卻是得到很少的受眾…

        2022年11月25日
      • 直播帶貨詳細(xì)腳本(直播文案策劃怎么寫)

        短視頻運營策劃方案怎么寫?涉及哪幾個方面? 我在網(wǎng)上看到好多千篇一律的文章,關(guān)于【短視頻運營策劃方案】這一塊,基本都是在講賬號的內(nèi)容本身。 你內(nèi)容做得再好,卻不掌握算法的規(guī)律,能有…

        2022年11月25日
      • 閑魚上怎么賣東西快?閑魚賺錢必知技巧(怎么在閑魚里面賣東西)

        自從閑魚這個平臺出現(xiàn)以后,隨著這些年的發(fā)展,閑魚也成為了很多人開店賺錢的重要途徑。一些新人也想在閑魚上試試水,看看能不能賺到錢。如今閑魚上既可以賣二手閑置物品,也可以賣一些新品,那…

        2022年11月25日

      聯(lián)系我們

      聯(lián)系郵箱:admin#wlmqw.com
      工作時間:周一至周五,10:30-18:30,節(jié)假日休息