亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

Java字符串詳解的實例介紹

2019-11-26 16:09:58
字體:
來源:轉載
供稿:網友

1.創建對象

  對于java程序中的字符串直接常量,JVM會使用一個字符串池來保存它們。當第一次使用某個字符串直接常量時,JVM會將它放入字符串池中進行緩存。在一般情況下,字符串池中的字符串對象不會被垃圾回收。當程序再次需要使用該字符串時,無需重新創建一個新的字符串就可以直接讓引用變量直接指向字符串中已有的字符串。而使用new操作創建的字符串對象不指向字符串池中的對象,但是可以使用intern()方法使其指向字符串池中的對象。

復制代碼 代碼如下:

public class StringDemo1 {
     public static void main(String[] args){
         String str1 ="abc";
         String str2 ="abc";
         String str3 =new String("abc");
         System.out.println(str1==str2);//true
         System.out.println(str1==str3);//false
         }
 }

常見問題
復制代碼 代碼如下:

String str3 =new String("abc");

創建了幾個對象?
答:兩個
復制代碼 代碼如下:

String str ="ab"+"cd";

創建了幾個對象?

答:一個。"ab"和"cd"都是常量被放在字符串池中。因此只創建了一個abcd字符串池中并將字符串abcd保存在字符串池中。

復制代碼 代碼如下:

public class StringDemo1 {
    public static void main(String[] args){
        String str1 ="ab";
        String str2 ="cd";
        String str3 ="ab"+"cd";//創建對象并加入字符串池
        String str4 =str1+str2;
        String str5 =str1+"cd";
        System.out.println(str3==str4);//false
        System.out.println(str3==str5);//false

        }
}

由上面代碼可知:只有引號包含文本的方式才創建的String對象才能被添加到字符串池中,對于包含new方法新建對象的”+“連接表達式他所產生的新對象不會被加到字符串池中。

但是有一種情況需要引起我們的注意:

復制代碼 代碼如下:

public class StringDemo1 {
    private final static String str1 ="ab";
    private final static String str2 ="cd";
    public static void main(String[] args){
        String str3 ="ab"+"cd";//創建對象并加入字符串池
        String str4 =str1+str2;
        String str5 =str1+"cd";
        System.out.println(str3==str4);//true
        System.out.println(str3==str5);//true

        }
}

這又是為什么呢?原因是這樣的,對于常量來講。它的值是固定的,因此在編譯期間就能被確定了。

將上面的代碼稍加改變看看會出現什么情況。

復制代碼 代碼如下:

public class StringDemo1 {
     private final static String str1 ;
     private final static String str2;
     static{
     str1="ab";
     str2="cd";
     }
     public static void main(String[] args){
         String str3 ="ab"+"cd";//創建對象并加入字符串池
         String str4 =str1+str2;
         String str5 =str1+"cd";
         System.out.println(str3==str4);//false
         System.out.println(str3==str5);//false

         }
 }

str1和str2雖然被定義為常量,但是她們美譽馬上賦值,在運算出s的值前,她們何時被賦值,以及被賦什么值都是變數,因此性質和變量一樣。只能在運行時被創建。

2.字符串方法

獲取方法

•int length()
•char charAt(int index)根據位置獲取某個字符
•int indexOf(int ch) 返回的是ch在字符串中第一次出現的位置
•int indexOf(int ch,int fromIndex)從fromIndex指定位置開始,獲取ch在字符串中第一次出現的位置
•int indexOf(String str)
•int indexOf(String str,int fromIndex)
•int lastIndexOf(int ch)

判斷方法

•boolean contains(String str) 另一種判斷方法:if(str.index(str)!=-1)
•boolean startsWith(String str)
•boolean endsWith(String str)
•bolean isEmpty(String str)
•boolean equals(String str)
•boolean equalsIgnoreCase(String str);

轉換方法

•將字符數組轉換為字符串

構造函數

1.String(char[] chs)

2.String(char[] chs,offset,count)將字符數組中的一部分轉成字符串。

靜態方法

1.static String copyValueOf(char[] chs)

2.static String copyValueOf(char[] chs,int offset,int count)

3.static String valueOf(char[] )

4.static String valueOf(char[] chs,int offset,int count)

•將字符串轉換成字符數組

char[] toCharArray

•將字符數組轉換成字符串
•將字符串轉換成字節數組
byte[] toBytes

替換方法

String replace(olderStr,newStr)

切割方法

String split(regex)

獲取子串[編輯分類]

String subString(begin)

String subString(begin,end)包含頭不包含尾

將字符串轉換成大小寫Android(10)

String toUpperCase()

String toLowerCase()

將字符串兩端的空格去除

String trim()

對兩個字符串進行自然順序的比較

int compareTo(String str)

3.String 練習

1.字符串翻轉

復制代碼 代碼如下:

public class StringDemo2 {
     public static void main(String[] args){
         String str = "avdkfasjks";
         reverseMethod_1(str);
     }
     public static void reverseMethod_1(String str){
         for(int i=str.length();i>0;i--){
             System.out.print(str.charAt(i-1));
         }
     }
 }

2.獲取最大相同子串
復制代碼 代碼如下:

public class StringDemo2 {
    public static void main(String[] args){
        String str1 = "avdkfasjks";
        String str2 = "ewavdrtte";
        System.out.println(commonMaxSubstring(str1, str2));
    }
    public static String commonMaxSubstring(String str1,String str2){
        int len = str1.length();
        String str3 = null;
        outer:
            //i為子串的長度
            for(int i = len;i>0;i--){
                //j為子串的腳標
                for(int j=0;j<len-i+1;j++){
                    str3=str1.substring(j,j+i);
                    if(str2.contains(str3))
                        break outer;

                }
            }
        return str3;
    }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品精品国产国产自在线| 97成人在线视频| 欧美激情一级精品国产| 日韩av在线一区二区| 午夜免费在线观看精品视频| 97色在线观看| 一本色道久久综合狠狠躁篇怎么玩| 国产成人精品久久二区二区91| 一区二区三区视频免费在线观看| 国产精品久久久久久亚洲影视| 国产suv精品一区二区三区88区| 国产精品成人av性教育| 成人日韩av在线| 久久精品成人欧美大片古装| 91欧美精品午夜性色福利在线| 亚洲精品久久久久久下一站| 欧美日韩亚洲一区二区| 国产一区二区三区毛片| 中文字幕av一区中文字幕天堂| 亚洲欧洲成视频免费观看| 久久久久国产精品免费| 日韩精品中文字幕在线| 欧美xxxx18性欧美| 久久久精品视频在线观看| 国产xxx69麻豆国语对白| 亚洲一区二区中文| 欧美性生交xxxxxdddd| 国产精品美女主播在线观看纯欲| 亚洲国产欧美自拍| 91成人福利在线| 日本一区二区三区四区视频| 亚洲欧美激情四射在线日| 韩日精品中文字幕| 性欧美xxxx交| 国产日韩换脸av一区在线观看| 欧美精品xxx| 亚洲天堂av高清| 久久99青青精品免费观看| 尤物yw午夜国产精品视频| 亚洲激情视频在线| 久久免费视频这里只有精品| 高清一区二区三区日本久| 亚洲性无码av在线| 91精品中文在线| 奇米成人av国产一区二区三区| 欧美俄罗斯乱妇| 亚洲精品成a人在线观看| 成人妇女免费播放久久久| 国产精品极品美女在线观看免费| 日韩极品精品视频免费观看| 91深夜福利视频| 欧美在线一区二区三区四| 91av在线免费观看| 日韩免费观看在线观看| 日韩免费黄色av| 国产精品pans私拍| 91久久久久久久久| 九九九久久久久久| 疯狂欧美牲乱大交777| 欧美激情在线观看| 欧美老女人性生活| 亚洲欧美日韩精品久久亚洲区| 国产精品1区2区在线观看| 久久国产视频网站| 国产黑人绿帽在线第一区| 亚洲精品免费一区二区三区| 亚洲国产精品久久久久| 国产成人+综合亚洲+天堂| 成人性生交大片免费看小说| 国产精品99蜜臀久久不卡二区| 欧美高清理论片| 亚洲精品v天堂中文字幕| 成人午夜高潮视频| 性欧美亚洲xxxx乳在线观看| 色偷偷噜噜噜亚洲男人| 国产精品久久久久久久av大片| 亚洲国产美女精品久久久久∴| 欧美国产在线电影| 91av免费观看91av精品在线| 精品少妇一区二区30p| 在线观看日韩视频| 日韩在线观看视频免费| 91精品中文在线| 国产专区精品视频| 另类视频在线观看| 国产精品69久久久久| 一区二区三区高清国产| 97在线观看免费| 亚洲国产中文字幕久久网| 91精品国产高清自在线| 国产成人免费91av在线| 91在线中文字幕| 日韩精品视频免费在线观看| 亚洲欧美在线第一页| 欧美一级电影在线| 国产欧美一区二区三区在线看| 黑人巨大精品欧美一区二区免费| 国产精品免费视频久久久| 亚洲欧美日韩综合| 久久综合网hezyo| 中文字幕亚洲一区二区三区五十路| 国产精品影院在线观看| 久久久久久国产三级电影| 日本国产一区二区三区| 日韩国产在线看| 欧美日韩黄色大片| 国产精品永久免费观看| 欧美一区二区三区免费观看| 亚洲最大福利网站| 久久人91精品久久久久久不卡| 日韩一二三在线视频播| 亚洲日韩中文字幕在线播放| 欧美成人在线免费| 国产成人97精品免费看片| 久久久国产精品免费| 美女视频久久黄| 国产精品久久久久久久app| 国产精品视频色| 亚洲欧美另类中文字幕| 九色精品免费永久在线| 久久精品国产久精国产思思| 国产精品久久久久久久久久新婚| 成人黄色短视频在线观看| 一区二区三区视频免费| 欧美大全免费观看电视剧大泉洋| 欧美性理论片在线观看片免费| 久久久久久久色| 欧美自拍视频在线| 亚洲国产精品久久91精品| 国产精品91久久久| 日本高清久久天堂| 欧美成人午夜视频| 色偷偷88888欧美精品久久久| 国产精品欧美一区二区三区奶水| 欧美成人一区在线| 日韩暖暖在线视频| 日韩在线视频观看正片免费网站| 午夜精品一区二区三区视频免费看| 成人福利视频网| 粉嫩av一区二区三区免费野| 国产日韩欧美电影在线观看| 欧美激情精品久久久久久变态| 中文字幕日韩欧美在线视频| 久久理论片午夜琪琪电影网| 欧美一级片一区| 午夜精品久久久久久久男人的天堂| 96pao国产成视频永久免费| 国产91精品高潮白浆喷水| 国产精品日日做人人爱| 久久精品美女视频网站| 亚洲色图综合久久| 日韩av综合网站| 亚洲国产精品成人av| 日韩av片电影专区| 国产欧美精品va在线观看| 日本亚洲欧洲色α| 久久久亚洲成人| 中文字幕日韩综合av| 黑人巨大精品欧美一区免费视频| 久久久国产精品免费| 午夜精品福利在线观看| 欧美性xxxxx极品娇小| 亚洲自拍偷拍色片视频| 欧美成人手机在线|