歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Java之String類的使用細節

String類的特點:     字符串對象一旦被初始化就不會被改變,字符串存儲在字符串常量池中(字符串緩沖區)。如果池中沒有就創建,如果有就直接拿過來用。  代碼驗證如下:     String s = "abc";//在常量池中創建了一個字符串對象   String s1 = "abc";//true //s與s1內容相同,地址相同   System.out.println(s==s1);//true   System.out.println(s==s1);//true
  String s2 = new String("abc");//在堆內存中創建了兩個對象,一個new對象一個字符串對象 //s與s2內同相同,地址不同   System.out.println(s==s2);//false   System.out.println(s==s2);//true  原因是String類中的equals復寫了String類中的equals建立了String類屬於自己的判斷字符串對象是否相同的依據,其實就是比較字符串的內容。   String s = new String();//等效於String s= "" 都是空字符串,內容相同,但是不等效於String s = null;      按照面向對象的思想對字符串功能進行分類             思考思路:如果我們想要使用某種方法或說是功能來達到自己的目的,那麼就首先需要對這種方法進行查找,看這種方法是否已經給我們封裝好了,例如:如果想要獲取字符串的長度,那麼返回值必然是int,確定了返回值再想要找到方法就會很簡單了。那麼再思考的就是我們是否要給這個方法進行參數的傳遞,獲取長度其實就是對象直接調用方法就可以了,因此我們也可以確定,這個方法是不需要來進行參數傳遞的。經過以上方式的思考,我們很快就可以確定下來這個方法是哪個。如果這樣的思考之後,還沒有找到我們需要的方法,那麼有可能就需要我們自己進行封裝了。
  以下為String類常用的一些方法,也是通過面向對象的思想來進行整理的。 如字符串"string" 1,獲取     1.1獲取字符串中字符的個數(長度)。             返回值int  方法名:length();     1.2根據位置獲取字符。             返回值char   方法名: charAt(int index);     1.3根據字符獲取在字符串中第一次出現的位置。             返回值int     方法名:indexOf(int ch);             返回值int     方法名:indexOf(int ch,int fromIndex);             返回值int     方法名:indexOf(String str);             返回值int     方法名:indexOf(String str,int fromIndex);       1.4根據字符串獲取在字符串中第一次出現的位置。             返回值int     方法名:lastIndexOf(int ch);             返回值int     方法名:lastIndexOf(int ch,int fromIndex);             返回值int     方法名:lastIndexOf(String str);             返回值int     方法名:lastIndexOf(String str,int fromIndex);       1.5根據字符串獲取字符串中的一部分字符串,即子串。             返回值String 方法名:subString(int beginIndex, int endIndex);                   返回值String 方法名:subString(int beginIndex);         2,轉換         2.1將字符串變成字符串數組(字符串的切割)             返回值String[] 方法名 split(String regex);//添加正則表達式的切割規則         2.2將字符串變成字符數組。             返回值char[]  方法名 toCharArray();         2.3將字符串變成字節數組             返回值byte[]  方法名getBytes();         2.4將字符串中字母轉為大小寫字母             返回值String  方法名toUpperCase();             返回值String  方法名toLowerCase();         2.5將字符串中的內容進行替換             返回值String  方法名replace(char oldChar,char newChar);//沒有oldChar則不改變             返回值String  方法名replace(CharSequence target,CharSequence replacement);             也可以理解為             返回值String  方法名replace(String oldString,String newString);因為String類是Sequence的子類         2.6去除字符串中兩端的空格             返回值String  方法名trim();         2.7將字符串進行連接             返回值String  方法名concat(String s);         2.8將基本數據類型轉換為字符串類型             返回值String  方法名ValueOf(基本數據類型);         2.9將字符數組轉化為字符串             可以使用構造方法String(char [] value);             返回值String  方法名copyValueOf(char[] data) 3,判斷     3.1兩個字符串內容是否相同             返回值boolean  方法名 equals(Object obj);             返回值boolean  方法名equalsIgnoreCase(String str); //忽略大小寫比較字符串內容是否相同。     3.2字符串中是否包含指定字符串             返回值boolean  方法名contains(String str);     3.3字符串是否以指定字符串開頭,是否以指定字符串結尾             返回值boolean  方法名startsWith(String str);             返回值boolean  方法名endsWith(String str); 4,比較     4.1比較兩個字符串的大小             返回值int  方法名compareTo(String str);  

通過Java程序抽取日志中的sql語句  http://www.linuxidc.com/Linux/2015-01/111347.htm

解密Java增強的泛型 http://www.linuxidc.com/Linux/2015-01/111360.htm

Java中介者設計模式 http://www.linuxidc.com/Linux/2014-07/104319.htm

Java 設計模式之模板方法開發中應用 http://www.linuxidc.com/Linux/2014-07/104318.htm

設計模式之 Java 中的單例模式(Singleton) http://www.linuxidc.com/Linux/2014-06/103542.htm

Java對象序列化 http://www.linuxidc.com/Linux/2014-10/107584.htm

大話設計模式(帶目錄完整版) PDF+源代碼 http://www.linuxidc.com/Linux/2014-08/105152.htm

Java中的函數傳遞 http://www.linuxidc.com/Linux/2014-11/109056.htm

Copyright © Linux教程網 All Rights Reserved