Java-String類的常用方法總結

来源:http://www.cnblogs.com/ABook/archive/2016/05/25/5527341.html
-Advertisement-
Play Games

一、String類String類在java.lang包中,java使用String類創建一個字元串變數,字元串變數屬於對象。java把String類聲明的final類,不能有類。String類對象創建後不能修改,由0或多個字元組成,包含在一對雙引號之間。二、String類對象的創建字元串聲明:Str ...


一、String類
String類在java.lang包中,java使用String類創建一個字元串變數,字元串變數屬於對象。java把String類聲明的final類,不能有類。String類對象創建後不能修改,由0或多個字元組成,包含在一對雙引號之間。
二、String類對象的創建
字元串聲明:String stringName;
字元串創建:stringName = new String(字元串常量);或stringName = 字元串常量;
三、String類構造方法
1、public String()
無參構造方法,用來創建空字元串的String對象。
 1 String str1 = new String(); 
2、public String(String value)
用已知的字元串value創建一個String對象。
 1 String str2 = new String("asdf"); 2 String str3 = new String(str2); 
3、public String(char[] value)
用字元數組value創建一個String對象。

1 char[] value = {"a","b","c","d"};
2 String str4 = new String(value);//相當於String str4 = new String("abcd");


4、public String(char chars[], int startIndex, int numChars)
用字元數組chars的startIndex開始的numChars個字元創建一個String對象。

1 char[] value = {"a","b","c","d"};
2 String str5 = new String(value, 1, 2);//相當於String str5 = new String("bc");


5、public String(byte[] values)
用比特數組values創建一個String對象。

1 byte[] strb = new byte[]{65,66};
2 String str6 = new String(strb);//相當於String str6 = new String("AB");

四、String類常用方法
1、求字元串長度
public int length()//返回該字元串的長度

1 String str = new String("asdfzxc");
2 int strlength = str.length();//strlength = 7


2、求字元串某一位置字元
public char charAt(int index)//返回字元串中指定位置的字元;註意字元串中第一個字元索引是0,最後一個是length()-1。

1 String str = new String("asdfzxc");
2 char ch = str.charAt(4);//ch = z


3、提取子串
用String類的substring方法可以提取字元串中的子串,該方法有兩種常用參數:
1)public String substring(int beginIndex)//該方法從beginIndex位置起,從當前字元串中取出剩餘的字元作為一個新的字元串返回。
2)public String substring(int beginIndex, int endIndex)//該方法從beginIndex位置起,從當前字元串中取出到endIndex-1位置的字元作為一個新的字元串返回。

1 String str1 = new String("asdfzxc");
2 String str2 = str1.substring(2);//str2 = "dfzxc"
3 String str3 = str1.substring(2,5);//str3 = "dfz"


4、字元串比較
1)public int compareTo(String anotherString)//該方法是對字元串內容按字典順序進行大小比較,通過返回的整數值指明當前字元串與參數字元串的大小關係。若當前對象比參數大則返回正整數,反之返回負整數,相等返回0。
2)public int compareToIgnore(String anotherString)//與compareTo方法相似,但忽略大小寫。
3)public boolean equals(Object anotherObject)//比較當前字元串和參數字元串,在兩個字元串相等的時候返回true,否則返回false。
4)public boolean equalsIgnoreCase(String anotherString)//與equals方法相似,但忽略大小寫。

1 String str1 = new String("abc");
2 String str2 = new String("ABC");
3 int a = str1.compareTo(str2);//a>0
4 int b = str1.compareTo(str2);//b=0
5 boolean c = str1.equals(str2);//c=false
6 boolean d = str1.equalsIgnoreCase(str2);//d=true


5、字元串連接
public String concat(String str)//將參數中的字元串str連接到當前字元串的後面,效果等價於"+"。

1 String str = "aa".concat("bb").concat("cc");
2 相當於String str = "aa"+"bb"+"cc";


6、字元串中單個字元查找
1)public int indexOf(int ch/String str)//用於查找當前字元串中字元或子串,返回字元或子串在當前字元串中從左邊起首次出現的位置,若沒有出現則返回-1。
2)public int indexOf(int ch/String str, int fromIndex)//改方法與第一種類似,區別在於該方法從fromIndex位置向後查找。
3)public int lastIndexOf(int ch/String str)//該方法與第一種類似,區別在於該方法從字元串的末尾位置向前查找。
4)public int lastIndexOf(int ch/String str, int fromIndex)//該方法與第二種方法類似,區別於該方法從fromIndex位置向前查找。

1 String str = "I am a good student";
2 int a = str.indexOf('a');//a = 2
3 int b = str.indexOf("good");//b = 7
4 int c = str.indexOf("w",2);//c = -1
5 int d = str.lastIndexOf("a");//d = 5
6 int e = str.lastIndexOf("a",3);//e = 2


7、字元串中字元的大小寫轉換
1)public String toLowerCase()//返回將當前字元串中所有字元轉換成小寫後的新串
2)public String toUpperCase()//返回將當前字元串中所有字元轉換成大寫後的新串

1 String str = new String("asDF");
2 String str1 = str.toLowerCase();//str1 = "asdf"
3 String str2 = str.toUpperCase();//str2 = "ASDF"


8、字元串中字元的替換
1)public String replace(char oldChar, char newChar)//用字元newChar替換當前字元串中所有的oldChar字元,並返回一個新的字元串。
2)public String replaceFirst(String regex, String replacement)//該方法用字元replacement的內容替換當前字元串中遇到的第一個和字元串regex相匹配的子串,應將新的字元串返回。
3)public String replaceAll(String regex, String replacement)//該方法用字元replacement的內容替換當前字元串中遇到的所有和字元串regex相匹配的子串,應將新的字元串返回。

1 String str = "asdzxcasd";
2 String str1 = str.replace('a','g');//str1 = "gsdzxcgsd"
3 String str2 = str.replace("asd","fgh");//str2 = "fghzxcfgh"
4 String str3 = str.replaceFirst("asd","fgh");//str3 = "fghzxcasd"
5 String str4 = str.replaceAll("asd","fgh");//str4 = "fghzxcfgh"


9、其他類方法
1)String trim()//截去字元串兩端的空格,但對於中間的空格不處理。

1 String str = " a sd ";
2 String str1 = str.trim();
3 int a = str.length();//a = 6
4 int b = str1.length();//b = 4


2)boolean statWith(String prefix)boolean endWith(String suffix)//用來比較當前字元串的起始字元或子字元串prefix和終止字元或子字元串suffix是否和當前字元串相同,重載方法中同時還可以指定比較的開始位置offset。

1 String str = "asdfgh";
2 boolean a = str.statWith("as");//a = true
3 boolean b = str.endWith("gh");//b = true


3)regionMatches(boolean b, int firstStart, String other, int otherStart, int length)//從當前字元串的firstStart位置開始比較,取長度為length的一個子字元串,other字元串從otherStart位置開始,指定另外一個長度為length的字元串,兩字元串比較,當b為true時字元串不區分大小寫。
4)contains(String str)//判斷參數s是否被包含在字元串中,並返回一個布爾類型的值。

1 String str = "student";
2 str.contains("stu");//true
3 str.contains("ok");//false


5)String[] split(String str)//將str作為分隔符進行字元串分解,分解後的字字元串在字元串數組中返回。

1 String str = "asd!qwe|zxc#";
2 String[] str1 = str.split("!|#");//str1[0] = "asd";str1[1] = "qwe";str1[2] = "zxc";

五、字元串與基本類型的轉換
1、字元串轉換為基本類型
java.lang包中有Byte、Short、Integer、Float、Double類的調用方法:
1)public static byte parseByte(String s)
2)public static short parseShort(String s)
3)public static short parseInt(String s)
4)public static long parseLong(String s)
5)public static float parseFloat(String s)
6)public static double parseDouble(String s)
例如:

1 int n = Integer.parseInt("12");
2 float f = Float.parseFloat("12.34");
3 double d = Double.parseDouble("1.124");


2、基本類型轉換為字元串類型
String類中提供了String valueOf()放法,用作基本類型轉換為字元串類型。
1)static String valueOf(char data[])
2)static String valueOf(char data[], int offset, int count)
3)static String valueOf(boolean b)
4)static String valueOf(char c)
5)static String valueOf(int i)
6)static String valueOf(long l)
7)static String valueOf(float f)
8)static String valueOf(double d)
例如:

1 String s1 = String.valueOf(12);
2 String s1 = String.valueOf(12.34);


3、進位轉換
使用Long類中的方法得到整數之間的各種進位轉換的方法:
Long.toBinaryString(long l)
Long.toOctalString(long l)
Long.toHexString(long l)
Long.toString(long l, int p)//p作為任意進位


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Write a function that takes a string as input and reverse only the vowels of a string. Example 1:Given s = "hello", return "holle". Example 2:Given s ...
  • 想要深入瞭解JVM,就必須瞭解其實現機制。瞭解JVM實現的最好方法便是自己動手編譯JDK。好了,讓我們開始吧! 1. 準備工作 獲取OpenJDK源碼 獲取OpenJDK源碼 本次編譯選擇的是OpenJDK7u,官方源碼包:https://jdk7.java.net/source.html 系統需求 ...
  • Given two arrays, write a function to compute their intersection. Example:Given nums1 = [1, 2, 2, 1], nums2 = [2, 2], return [2]. Note: Each element i ...
  • 嚴格來講是給在OSC上貢獻過內容的OSC用戶刷積分。 OSC很多操作都需要消耗積分,很多人給OSC貢獻了內容, 但是卻沒有人點贊,所以有些人在OSC混了很多年也沒有積分。 本文中使用到的工具有gifcam 、fiddler 、Wireshark。gifcam 是一個小巧的GIF錄屏軟體,可以把你電腦 ...
  • consul的具體安裝與操作查看博客的consul系列。 一、啟動consul (1個server+1個client,方便起見,client使用本機):查看:http://www.cnblogs.com/java-zhao/p/5375132.html 1、開啟虛擬機-->切換到vagrantFil ...
  • 文件上傳: 1、JSP中提交method="post" enctype="multipart/form-data" 的表單 2、Action中接收file,fileFileName, fileContentType文件參數 3、 savedFile = new File("E:\\File", fi ...
  • 正式啟動項目後的第一周 這一周有三天是在研討會中進行的,各種需求討論。。。至少 最終版還是確定了,不會再改核心 1、搭建基本項目框架 maven聚合工程 - 後臺管理系統,restful介面服務(待更新:訂單服務,RMQ服務,SSO單點登錄) 2、安裝mysql 遇到的問題:遠程不能訪問,人之常情, ...
  • 開發一個項目,參數是必不可少的,規模越大參數越多。在不同的測試環境中部署,或者是依賴項目的信息發生了變化,你有沒有想跳樓的感覺?如果有,恭喜你,你至少已經不是在開發玩具系統了。 本文試圖列舉一些配置參數的方法,希望對你的項目有所幫助。 一、可用性模式-外部配置 引用自圖書《Java應用架構設計:模塊 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...