總結String的常用方法

 在項目中String是不可避免使用,包括數據之間的相互傳值,在處理id時,經常用到string的一些方法,現在總結一下:

認識String:
String 默認使用final修飾,不能被繼承;java字符串在內存中採用nunicode編碼方式,任何一個字符對應兩個字節的定長編碼;
String是放在常量池中,並儘量使用同一對象,重用靜態字符串;

IndexOf
使用indexOf實現檢索;
Int indexOf(String str) 在字符串中檢索到str,返回第一次出現的位置,如果檢索不到,那就返回-1;此方法嚐嚐用來檢驗字符串中有沒有包含某個字符串;
Int indexOf(String str,int fromIndex) 從字符串的指定位置開始檢索
Int lastIndexOf(String str,int from) str在字符串中多次出現時,將返回最後一個出現的位置

Substring
使用substring獲取子字符串
String substring(int beginIndex,int endIndex) 返回字符串中從下標開始到enindex結束的子字符串;注意:含頭不含尾
String substring(int beginIndex) 返回從該下標到結尾的子字符串;(含頭含尾)
一般我們經常使用該方法來去除字符串中最後的,號
String str.substring(0,str.length()-1);

Trim
去掉一個字符串的前後的空餘
String username = “ good man ”
Username = username.trim();// good man

charAt
Char charAt(int index); 用於返回字符串指定未知的字符;

startsWith和endsWith
檢測一個字符串是否以指定字符串開頭或結尾
String str = “Thinking in java”;
System.out.println(str.endWith(“java”));//true

大小寫的轉換
str.toUpperCase();轉爲大寫
Str.toLowerCase();轉爲小寫

valueOf
將其他類型轉換爲字符串類型

/*
* valueOf
* 將其他類型轉爲字符串類型
*/
double pl = 3.1415926;
int value = 123;
boolean flag = true;
char[] charArr = {‘1’,’2’,’3’,’4’};
String str1 = String.valueOf(pl);
String str2 = String.valueOf(value);
String str3 = String.valueOf(flag);
String str4 = String.valueOf(charArr);
System.out.println(str1);//3.1415926
System.out.println(str2);//123
System.out.println(str3);//true
System.out.println(str4);//1234

Replace/replaceAll
替換字符串
Str = str.replace(“”,””);//性能偏低

Equals() //判斷字符串是否相等
equalsIgnoreCase() //忽略大小寫的情況下比較內容是否相等
== //判斷內容與地址是否相同

字符串的轉換:
1、將字符串轉換爲字符數組
Public char[] toCharArray();
2、 將字符串轉爲字符串數組
就是用split()方法;

下面是自己做的一些字符串的方法,其中有字符串之間的去重功能,這個在項目中也是用到的(比如去除重複的id)

public static void main(String[] args) {

    /*
     * valueOf
     * 將其他類型轉爲字符串類型
     */
    double pl = 3.1415926;
    int value = 123;
    boolean flag = true;
    char[] charArr = {'1','2','3','4'};
    String str1 = String.valueOf(pl);
    String str2 = String.valueOf(value);
    String str3 = String.valueOf(flag);
    String str4 = String.valueOf(charArr);

    System.out.println(str1);//3.1415926
    System.out.println(str2);//123
    System.out.println(str3);//true
    System.out.println(str4);//1234


    /*
     * 字符串與int之間的轉化
     */
    String a = "123";
    int aa = Integer.parseInt(a);
    int bb = 456;
    String b = Integer.toString(bb);
    System.out.println(aa);
    System.out.println(b);


    /*
     * 字符串與doube之間轉化
     * 
     */
    String c = "3.14";
    double cc = Double.parseDouble(c);
    System.out.println(cc);


    /*
     * 字符串與date之間轉化
     */
    //date轉爲String
    Date date = new  Date();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    String dateStr =  sdf.format(date);

    //String轉爲date
    Date date1 = null;
    try {
        date1 = sdf.parse(dateStr);
    } catch (ParseException e) {
        e.printStackTrace();
    }        
    System.out.println(dateStr);
    System.out.println(sdf.format(date1));


    demo1 demo = new demo1();
    demo.distinct1();
    demo.distinct2();



}

//字符創之間去重-情景1
public String distinct1(){
    String str1 = "12312,122312,12334,56658,89895455,234,456";
    String str2 = "234,456,12334";
    StringBuffer strBf = new StringBuffer();
    String[] strArr2 = str2.split(","); 
    //現剔除str2中存在的
    for (int i = 0; i < strArr2.length; i++) {
        if(str1.indexOf(strArr2[i])!= -1){
            str1 = str1.replace(strArr2[i], "");
        }       
    }
    //下面主要是實現去重後的str1的重新組裝,注意要去掉最後的“,”號
    String[] strArr1 = str1.split(",");
    for (int s = 0; s < strArr1.length; s++) {
        if(strArr1[s] != ""){
            if(s != strArr1.length-1 ){
                strBf.append(strArr1[s]+",");
            }else{
                strBf.append(strArr1[s]);
            }
        }
    }
    str1 = new String(strBf);
    System.out.println(str1);   
    return str1;
}

//字符串去重-情景2
public String distinct2(){
    String aa = "asdaeaaasssfdfdggfgfywvcj";
    StringBuffer strBuf = new StringBuffer();
    char[] aaArr = aa.toCharArray();
    for (int i = 0; i < aaArr.length; i++) {
        if(strBuf.indexOf(String.valueOf(aaArr[i])) == -1){
            strBuf.append(aaArr[i]);
        }
    }
    aa = new String(strBuf);
    System.out.println(aa);
    return aa;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章