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

首頁 > 編程 > Java > 正文

Java中的字符串用法小結

2019-11-26 15:12:56
字體:
來源:轉載
供稿:網友

本文實例總結了Java中的字符串用法。分享給大家供大家參考。具體分析如下:

字符串的本質是char類型的數組,但在java中,所有用雙引號""聲明的字符串都是一個String類的對象。這也正體現了Java完全面向對象的語言特點。

String 類

1、String類對象表示的是一個常量字符串。它是不可變長度的。也就是說,一旦創建了一個String類的實例,那么這個實例所表示的串是不可改變的。類似于

str = str + "Hello";

這樣的操作,實質上是將 str 和 "Hello" 這兩個String對象合起來創建了一個新的String對象,然后將新String對象的引用賦給了str。大量使用這種操作,就會造成性能上的缺陷。如果需要經常改變字符串的內容,應該使用StringBuffer類或StringBuilder類。我們可以用一段小程序來看看 String 和 StringBuffer類的性能差異到底有多大。

class StringTest {  public static void main(String[] args)  {   /**   * 分別用String 對象和 StringBuffer 對象執行10,000次追加操作  * 測試執行時間   * 2013.3.18   */   String constStr = "";   long lTime = System.currentTimeMillis();   for(int i = 0 ; i < 10000 ; ++i)    constStr += i;   System.out.println("Const String:"+(System.currentTimeMillis()-lTime));  StringBuilder strBuf = new StringBuilder("");  lTime = System.currentTimeMillis();   for(int i = 0 ; i < 10000 ; ++i)    strBuf.append(String.valueOf(i));   System.out.println("Buffered String:"+(System.currentTimeMillis()-lTime)); } }

執行結果:

可以看到,StringBuilder秒過,而String類卻要用300ms的時間,可見性能差異之巨大。

StringBuilder 和 StringBuffered都表示一個可變長度(mutable)的字符串對象,它們之間的區別在于,StringBuffered類會在線程同步方面做一些安全性處理,而StringBuilder則反之。所以如果只是在單線編程的話,StringBuilder要比StringBuffered效率稍高一些(其實區別也并不大)

2、"Hello World" 是一個String對象
我們可以直接把"Hello World"當作一個對象來使用,如:

if("Hello".equals("Hello"))    System.out.println("Yes");

輸出結果為Yes.

3、字符串對象比較要用equals()方法,而不能單純地使用 == 來判斷。因為 == 比較的是兩個引用名稱所引用的實例是否相同,equals()方法則比較的是兩個對象中的字符串是否相等。

一個常見的問題是,下面的代碼片斷一共產生了幾個String對象?

String str1 = new String("Hello");String str2 = new String("Hello");

可能多數人會回答,2個。但事實上這里一共產生了3個String對象。除了str1 和str2,別忘了"Hello"也是一個String對象哦。

4、String池(Pool)

Java執行時會維護一個String池。當出現一個由雙引號聲明的字符串時,JVM會首先核查在內存中是否存在相同的String對象(字符相同),如果存在,則返回內存中已經存在的對象的引用 ,如果不存在才會創建一個新的String對象。這樣可以節約內存。如下面一段代碼,str1和str2實際上是指向的同一個String對象.

String str1 = "Hello";String str2 = "Hello";

5、接收命令行參數

我們在聲明main方法時,會聲明一個String[] 類型的形參。這個String對象的數組就保存了用戶在執行這個程序的時候所傳遞進來的命令行參數。注意,與C語言不同的是,Java里的命令行參數是從程序名稱后第一個變量開始的。也就是說,String[]數據并不包括應用程序名。例如:

class strCmd {  public static void main(String[] args) {   if(args.length > 0)   {    for(String str : args)     System.out.println(str);  }  } }

執行 java strCmd Hello World!時的輸出結果為:

6、字符串的分離

類似于C語言中的strtok,String類也有一個split的方法可以以指定的格式分離一個字符串。split方法返回一個String對象的數組,表示分離出的每一段字符串。如:

class strSplit {  public static void main(String[] args) {   String str = "Hello/tWorld/tI/tLove/tYou!";   System.out.println("Original String : " + str);     String[] strArr = str.split("/t");  for(String s : strArr)   System.out.println(s); } }

其中,split()方法的參數可以是正則表達式??梢允褂胘ava.util包中的Matcher類的靜態方法matches()來判斷一個字符串是否符合正則表達式

String類還有更多其它強大的功能,我們應該學會閱讀API文檔。在這里就體現了英語的重要性了、、

希望本文所述對大家的java程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久久久久久久成人| 亚洲精品久久久久久久久久久| xvideos成人免费中文版| 久久免费国产精品1| 欧美性极品xxxx做受| 91国产高清在线| 亚洲一区二区国产| 亚洲精品久久7777777| 久久精品人人爽| 亚洲丝袜一区在线| 日韩av毛片网| 亚洲黄色有码视频| 日韩精品电影网| 欧美精品videosex牲欧美| 欧美最顶级丰满的aⅴ艳星| 欧美刺激性大交免费视频| 国产亚洲精品美女久久久| 欧美日韩中文字幕日韩欧美| 欧美乱大交做爰xxxⅹ性3| 欧美乱大交xxxxx| 成人网页在线免费观看| 成人免费观看49www在线观看| 欧洲日本亚洲国产区| 久久久久国产一区二区三区| 久久久精品视频在线观看| 欧美在线一区二区视频| 国产一区二区三区日韩欧美| 国产亚洲精品成人av久久ww| 久久免费视频在线| 亲爱的老师9免费观看全集电视剧| 日韩动漫免费观看电视剧高清| 欧美在线视频免费| 亚洲人成电影网站色…| 欧美中文字幕在线播放| 亚洲区免费影片| 国产成人精品一区二区在线| 日本亚洲精品在线观看| 色偷偷888欧美精品久久久| 成人做爽爽免费视频| 成人福利视频在线观看| 91av在线播放| 91精品国产色综合| 国产美女主播一区| 久久久久久12| 日韩欧美成人网| 国产手机视频精品| 在线精品高清中文字幕| 国产日韩在线看片| 日本亚洲欧美三级| 亚洲а∨天堂久久精品喷水| 亚洲奶大毛多的老太婆| 亚洲精品国产精品久久清纯直播| 成人黄色大片在线免费观看| 亚洲电影在线看| 国产精品久久久久77777| 午夜精品免费视频| 欧美亚洲国产视频小说| 欧美日韩亚洲一区二区三区| 欧美在线观看网址综合| 久久人人爽人人爽人人片亚洲| 国产日韩中文在线| 日本久久久久久久| 粉嫩老牛aⅴ一区二区三区| 日韩电影免费观看在线| 91精品啪在线观看麻豆免费| 国产成人福利网站| 亚洲欧洲在线观看| 亚洲国产古装精品网站| 最新国产精品亚洲| 国产欧美日韩中文| 中文字幕日韩专区| 亚洲国产精品va| 欧美另类69精品久久久久9999| 深夜福利一区二区| 成人国产精品一区二区| 国产成人拍精品视频午夜网站| 久久香蕉精品香蕉| 久久人人97超碰精品888| 国内精品在线一区| 国产精品入口免费视频一| 欧美在线中文字幕| 精品国产成人在线| 久久综合免费视频| 97在线免费观看视频| 国产精品7m视频| 97视频com| 日韩免费观看高清| 亚洲国产精品系列| 欧美视频免费在线观看| 久久亚洲综合国产精品99麻豆精品福利| 国产欧洲精品视频| 日韩小视频网址| 欧美插天视频在线播放| 日韩精品日韩在线观看| 国产精品v片在线观看不卡| 久久精品一本久久99精品| 日韩网站免费观看高清| 精品国产91久久久久久老师| 日本午夜人人精品| 另类专区欧美制服同性| 欧美日韩美女在线| 亚洲自拍高清视频网站| 国产精品国产三级国产aⅴ9色| 51ⅴ精品国产91久久久久久| 91精品视频免费观看| 国产视频一区在线| 国产91av在线| 国产一区二区三区中文| 成人性生交大片免费看小说| 国产精品视频一区国模私拍| 国产一区二区三区免费视频| 日韩av123| 亚洲综合精品一区二区| 欧美激情视频一区二区三区不卡| 亚洲人精品午夜在线观看| 欧美一区二区大胆人体摄影专业网站| 国产成人高清激情视频在线观看| 一区二区三区四区在线观看视频| 久久影视电视剧凤归四时歌| 中文字幕欧美日韩在线| 亚洲精品suv精品一区二区| 日韩美女写真福利在线观看| 国产女人精品视频| 久久偷看各类女兵18女厕嘘嘘| 日韩天堂在线视频| 精品亚洲一区二区三区| 亚洲国产99精品国自产| 亚洲白虎美女被爆操| 中文字幕久久久av一区| 久99九色视频在线观看| 亚洲精品456在线播放狼人| 在线看片第一页欧美| 精品国产精品三级精品av网址| 欧美激情一区二区三区久久久| 日韩大片免费观看视频播放| 51ⅴ精品国产91久久久久久| 国产香蕉一区二区三区在线视频| 川上优av一区二区线观看| 91在线免费观看网站| 亚洲一区二区黄| 欧美精品成人91久久久久久久| 日韩美女av在线免费观看| 国产精品亚洲一区二区三区| 日日噜噜噜夜夜爽亚洲精品| 懂色av中文一区二区三区天美| 亚洲欧美中文日韩在线| 欧美一区二区三区免费观看| 国产日本欧美一区二区三区在线| 92看片淫黄大片欧美看国产片| 中文字幕综合一区| 永久555www成人免费| 搡老女人一区二区三区视频tv| 亚洲国产美女精品久久久久∴| 欧美成人黄色小视频| 中日韩美女免费视频网站在线观看| 精品毛片网大全| 久久艳片www.17c.com| 国产精品无av码在线观看| 欧美午夜精品久久久久久人妖| 中文字幕精品一区久久久久| 成人中文字幕在线观看| 欧美性一区二区三区| 国产欧美久久一区二区| 亚洲男子天堂网|