最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java進(jìn)階教程之String類(lèi)

 更新時(shí)間:2014年09月01日 12:43:41   投稿:junjie  
這篇文章主要介紹了Java進(jìn)階教程之String類(lèi),String類(lèi)對(duì)象是不可變對(duì)象(immutable object),String類(lèi)是唯一一個(gè)不需要new關(guān)鍵字來(lái)創(chuàng)建對(duì)象的類(lèi),需要的朋友可以參考下

之前的Java基礎(chǔ)系列中討論了Java最核心的概念,特別是面向?qū)ο蟮幕A(chǔ)。在Java進(jìn)階中,我將對(duì)Java基礎(chǔ)進(jìn)行補(bǔ)充,并轉(zhuǎn)向應(yīng)用層面。

大部分編程語(yǔ)言都能夠處理字符串(String)。字符串是有序的字符集合,比如"Hello World!"。在Java中,字符串被存儲(chǔ)為String類(lèi)對(duì)象。調(diào)用字符串對(duì)象的方法,可以實(shí)現(xiàn)字符串相關(guān)的操作。

String類(lèi)包含在java.lang包中。這個(gè)包會(huì)在Java啟動(dòng)的時(shí)候自動(dòng)import,所以可以當(dāng)做一個(gè)內(nèi)置類(lèi)(built-in class)。我們不需要顯式的使用import引入String類(lèi)。

創(chuàng)建字符串

我們之前使用類(lèi)來(lái)創(chuàng)建對(duì)象。需要注意的時(shí)候,創(chuàng)建String類(lèi)對(duì)象不需要new關(guān)鍵字。比如:

復(fù)制代碼 代碼如下:

public class Test
{
    public static void main(String[] args)
    {
        String s = "Hello World!";
        System.out.println(s);                    
    }
}

實(shí)際上,當(dāng)你寫(xiě)出一個(gè)"Hello World"表達(dá)式時(shí),內(nèi)存中就已經(jīng)創(chuàng)建了該對(duì)象。如果使用new String("Hello World!"),會(huì)重復(fù)創(chuàng)建出一個(gè)字符串對(duì)象。

An Object

String類(lèi)是唯一一個(gè)不需要new關(guān)鍵字來(lái)創(chuàng)建對(duì)象的類(lèi)。使用的時(shí)候需要注意。

字符串操作

可以用+實(shí)現(xiàn)字符串的連接(concatenate),比如:

復(fù)制代碼 代碼如下:

"abc" + s

字符串的操作大都通過(guò)字符串的相應(yīng)方法實(shí)現(xiàn),比如下面的方法:

復(fù)制代碼 代碼如下:

方法                               效果

s.length()                        返回s字符串長(zhǎng)度

s.charAt(2)                       返回s字符串中下標(biāo)為2的字符

s.substring(0, 4)                 返回s字符串中下標(biāo)0到4的子字符串

s.indexOf("Hello")                返回子字符串"Hello"的下標(biāo)

s.startsWith(" ")                 判斷s是否以空格開(kāi)始

s.endsWith("oo")                  判斷s是否以"oo"結(jié)束

 

s.equals("Good World!")           判斷s是否等于"Good World!"

                                  ==只能判斷字符串是否保存在同一位置。需要使用equals()判斷字符串的內(nèi)容是否相同。

s.compareTo("Hello Nerd!")        比較s字符串與"Hello Nerd!"在詞典中的順序,

                                  返回一個(gè)整數(shù),如果<0,說(shuō)明s在"Hello Nerd!"之前;

                                              如果>0,說(shuō)明s在"Hello Nerd!"之后;

                                              如果==0,說(shuō)明s與"Hello Nerd!"相等。

s.trim()                          去掉s前后的空格字符串,并返回新的字符串

s.toUpperCase()                   將s轉(zhuǎn)換為大寫(xiě)字母,并返回新的字符串

s.toLowerCase()                   將s轉(zhuǎn)換為小寫(xiě),并返回新的字符串

s.replace("World", "Universe")    將"World"替換為"Universe",并返回新的字符串

不可變對(duì)象

String類(lèi)對(duì)象是不可變對(duì)象(immutable object)。程序員不能對(duì)已有的不可變對(duì)象進(jìn)行修改。我們自己也可以創(chuàng)建不可變對(duì)象,只要在接口中不提供修改數(shù)據(jù)的方法就可以。

然而,String類(lèi)對(duì)象確實(shí)有編輯字符串的功能,比如replace()。這些編輯功能是通過(guò)創(chuàng)建一個(gè)新的對(duì)象來(lái)實(shí)現(xiàn)的,而不是對(duì)原有對(duì)象進(jìn)行修改。比如:

復(fù)制代碼 代碼如下:

s = s.replace("World", "Universe");

右邊對(duì)s.replace()的調(diào)用將創(chuàng)建一個(gè)新的字符串"Hello Universe!",并返回該對(duì)象(的引用)。通過(guò)賦值,引用s將指向該新的字符串。如果沒(méi)有其他引用指向原有字符串"Hello World!",原字符串對(duì)象將被垃圾回收。

不可變對(duì)象

Java API

Java提供了許多功能強(qiáng)大的包。Java學(xué)習(xí)的一個(gè)重要方面是了解這些包以及其中包含的API(Application Programming Interface)。String類(lèi)定義在java.lang.String。你可以查詢(xún)下面的Oracle網(wǎng)址,來(lái)找到該類(lèi)的官方文檔:

http://docs.oracle.com/javase/6/docs/api/java/lang/String.html

該文檔中包含了String類(lèi)最全面的介紹。

事實(shí)上,API文檔中有豐富的內(nèi)容,你通過(guò)下面鏈接概覽:

http://docs.oracle.com/javase/6/docs/api/

相關(guān)文章

  • Java實(shí)現(xiàn)warcraft?java版游戲的示例代碼

    Java實(shí)現(xiàn)warcraft?java版游戲的示例代碼

    致敬經(jīng)典的warcraft,《warcraft?java版》是一款即時(shí)戰(zhàn)略題材單機(jī)游戲,采用魔獸原味風(fēng)格和機(jī)制。本文將用java語(yǔ)言實(shí)現(xiàn),采用了swing技術(shù)進(jìn)行了界面化處理,感興趣的可以了解一下
    2022-09-09
  • 一個(gè)Java配置文件加密解密工具類(lèi)分享

    一個(gè)Java配置文件加密解密工具類(lèi)分享

    在 JavaEE 配置文件中,例如 XML 或者 properties 文件,由于某些敏感信息不希望普通人員看見(jiàn),則可以采用加密的方式存儲(chǔ),程序讀取后進(jìn)行解密
    2014-04-04
  • java實(shí)現(xiàn)文本復(fù)制功能

    java實(shí)現(xiàn)文本復(fù)制功能

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)文本復(fù)制功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • java連接Oracle數(shù)據(jù)庫(kù)的方法解析

    java連接Oracle數(shù)據(jù)庫(kù)的方法解析

    本文主要對(duì)java連接Oracle數(shù)據(jù)庫(kù)方法進(jìn)行步驟解析,具有很好的參考價(jià)值,需要的朋友一起來(lái)看下吧
    2016-12-12
  • SpringBoot集成EasyExcel實(shí)現(xiàn)Excel導(dǎo)入的方法

    SpringBoot集成EasyExcel實(shí)現(xiàn)Excel導(dǎo)入的方法

    這篇文章主要介紹了SpringBoot集成EasyExcel實(shí)現(xiàn)Excel導(dǎo)入的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • 詳解SpringBoot啟動(dòng)類(lèi)的掃描注解的用法及沖突原則

    詳解SpringBoot啟動(dòng)類(lèi)的掃描注解的用法及沖突原則

    這篇文章主要介紹了詳解SpringBoot啟動(dòng)類(lèi)的掃描注解的用法及沖突原則,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Centos 7 安裝 OpenJDK 11 兩種方式及問(wèn)題小結(jié)

    Centos 7 安裝 OpenJDK 11 兩種方式及問(wèn)題小結(jié)

    這篇文章主要介紹了Centos 7 安裝 OpenJDK 11 兩種方式,第一種方式使用yum安裝,第二種方式使用tar解壓安裝,每種方法給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-09-09
  • Maven 的配置文件路徑讀取方法

    Maven 的配置文件路徑讀取方法

    這篇文章主要介紹了Maven 的配置文件路徑讀取方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • 詳解SpringBoot自定義配置與整合Druid

    詳解SpringBoot自定義配置與整合Druid

    Druid是alibaba開(kāi)源平臺(tái)上一個(gè)數(shù)據(jù)庫(kù)連接池實(shí)現(xiàn),結(jié)合了C3P0,DBCP等DB池的優(yōu)點(diǎn),同時(shí)也有Web監(jiān)控界面。這篇文章主要介紹了Java之SpringBoot自定義配置與整合Druid的相關(guān)知識(shí),需要的朋友可以參考下
    2021-09-09
  • Java volatile 關(guān)鍵字介紹與使用示例詳解

    Java volatile 關(guān)鍵字介紹與使用示例詳解

    這篇文章詳細(xì)介紹了Java中的volatile關(guān)鍵字,包括它的核心特性、如何保證變量的可見(jiàn)性和有序性,以及它在解決多線(xiàn)程問(wèn)題中的局限性,文章通過(guò)示例展示了如何在實(shí)際編程中使用volatile,并解釋了如何通過(guò)其他同步機(jī)制來(lái)彌補(bǔ)volatile的不足,感興趣的朋友一起看看吧
    2025-01-01

最新評(píng)論

桓台县| 张家港市| 泰来县| 汤原县| 静乐县| 金沙县| 桃江县| 含山县| 米泉市| 濉溪县| 开远市| 齐齐哈尔市| 农安县| 常德市| 江门市| 江城| 南阳市| 阳朔县| 汶川县| 正宁县| 博兴县| 会理县| 固始县| 揭西县| 邓州市| 长葛市| 赤峰市| 阿图什市| 江源县| 弥渡县| 都江堰市| 黄冈市| 高邮市| 奉化市| 通城县| 定州市| 乳山市| 徐水县| 五河县| 湟源县| 上林县|