2纺非,String類、this赘方、static烧颖、final(finally,finalize)

一、String類

● 字符串比較:== 和 equals()的區(qū)別窄陡?

·· ==:比較的是兩個(gè)字符串內(nèi)存地址的數(shù)值是否相同炕淮,屬于數(shù)值比較;

·· equals(): 比較的是兩個(gè)字符串的內(nèi)容泳梆,屬于內(nèi)容比較

● string類的兩種實(shí)例化方法的區(qū)別?

··直接賦值: 在每一個(gè)運(yùn)行的JVM低層存在一個(gè)字符串的對(duì)象池(方法區(qū)的運(yùn)行時(shí)常量池),直接賦值會(huì)將字符串的內(nèi)容放入到池中榜掌,以供其他繼續(xù)使用直接賦值方法的String對(duì)象使用优妙,如果新聲明的字符串內(nèi)容不再池之中,則會(huì)開辟一個(gè)新的憎账,繼續(xù)放到池中套硼,以供下次使用;String str = "hello" ----實(shí)際上開辟了兩塊空間

··構(gòu)造方法實(shí)例化:開辟兩塊堆內(nèi)存空間胞皱,一塊成為垃圾邪意,不能入池(除非手動(dòng)intern())


public class StringDemo {

    public static void main(String args[]) {

        String str1 = new String("Hello").intern();

        String str2 = "Hello";// 入池

        String str3 = "Hello";// 使用池對(duì)象

        System.out.println(str1 == str2);// true

        System.out.println(str1 == str3);// true

        System.out.println(str2 == str3);// true

    }

}

● String 、StringBuffer反砌、StringBuilder的區(qū)別雾鬼?

String s = "abcd";
s = s+1;
System.out.print(s);// result : abcd1

上述代碼解釋:首先創(chuàng)建對(duì)象s,賦予一個(gè)abcd宴树,然后再創(chuàng)建一個(gè)新的對(duì)象s用來(lái)執(zhí)行第二行代碼策菜,也就是說(shuō)我們之前對(duì)象s并沒(méi)有變化,所以我們說(shuō)String類型是不可改變的對(duì)象了酒贬,由于這種機(jī)制又憨,每當(dāng)用String操作字符串時(shí),實(shí)際上是在不斷的創(chuàng)建新的對(duì)象锭吨,而原來(lái)的對(duì)象就會(huì)變?yōu)槔唬牵没厥盏?/p>

StringBuilder與StringBuffer,前者線程非安全蠢莺,后者線程安全

● String類的常用方法:

//字符串與字符:
public String(char[] value) ---將全部字符數(shù)組轉(zhuǎn)變?yōu)樽址?public char[] toCharArray()---將字符串轉(zhuǎn)換為字符串?dāng)?shù)組
//字符串比較:
public boolean equals(String anObject) 
public boolean equalsIgnoreCase(StringanotherString)
public int compareTo(String anotherString)---比較兩個(gè)字符串大小(1,0,-1)
//字符串查找:
public boolean contains(String s)
public int indexOf(String str)
public int indexOf(String str, int fromIndex)
//字符串替換:
public String replaceAll(String regex, String replacement)
public String replaceFirst(String regex, String replacement) 
//字符串截攘闳纭:
public String substring(int beginIndex)---從指定位置開始截取到結(jié)尾
public String substring(int beginIndex, int endIndex) ---截取指定范圍的內(nèi)容
//字符串拆分:
public String[] split(String regex)
public String[] split(String regex, int limit)

二躏将、this關(guān)鍵字

⑴锄弱、this關(guān)鍵字用于區(qū)分局部變量和成員變量,比如在方法的參數(shù)中有名稱與成員變量相同的變量耸携,那么在該方法進(jìn)行賦值等其他操作運(yùn)算的時(shí)候棵癣,成員變量必須使用this來(lái)作為前綴,以此作為區(qū)分
⑵夺衍、類的方法中如果有對(duì)成員變量的操作狈谊,那么該方法會(huì)持有this兌現(xiàn)的引用地址,這樣能讓方法知道沟沙,它被哪個(gè)對(duì)象調(diào)用了

三河劝、static關(guān)鍵字

⑴、如果類中的某個(gè)方法并沒(méi)有涉及到任何成員變量矛紫,那么這個(gè)方法就沒(méi)有實(shí)例化的必要赎瞎,可以使用static修飾。
⑵颊咬、靜態(tài)方法只能訪問(wèn)類中的其他靜態(tài)方法务甥,或者靜態(tài)成員變量,而不能直接訪問(wèn)非靜態(tài)方法和非靜態(tài)的成員變量喳篇。
⑶敞临、靜態(tài)方法不能出現(xiàn)this關(guān)鍵字和super關(guān)鍵字,因?yàn)槌钟袑?duì)象的引用沒(méi)有意義的
⑸麸澜、主函數(shù)必須是靜態(tài)的
⑹挺尿、靜態(tài)成員變量即被static修飾的成員變量,可以直接通過(guò)類名.方法名直接進(jìn)行調(diào)用炊邦,而且同類的多個(gè)對(duì)象應(yīng)該是保有一份相同的靜態(tài)成員變量编矾,靜態(tài)成員變量?jī)?yōu)于對(duì)象的存在,不會(huì)因?yàn)橐粋€(gè)對(duì)象對(duì)靜態(tài)成員變量的修改而導(dǎo)致其他對(duì)象的靜態(tài)成員變量的修改馁害,并且靜態(tài)成員隨著類的加載而加載窄俏,而不是對(duì)象,會(huì)隨著類的消失而消失碘菜,并且存儲(chǔ)在方法區(qū)的靜態(tài)代碼區(qū)中

⑺裆操、靜態(tài)代碼塊是為了完成某個(gè)共同的初始化類操作而存在的,隨著類的加載而執(zhí)行炉媒,并且只加載一次
代碼塊只會(huì)隨著對(duì)象的加載而加載踪区,每次創(chuàng)建一次對(duì)象,就會(huì)加載一次
且靜態(tài)代碼塊優(yōu)先于構(gòu)造塊和主方法執(zhí)行吊骤,不管有多少個(gè)實(shí)例化對(duì)象產(chǎn)生缎岗,靜態(tài)塊都只調(diào)用一次

四、final白粉、finally传泊、finalize

1.final:如果一個(gè)類被final修飾鼠渺,意味著該類不能派生出新的子類,不能作為父類被繼承眷细。因此一個(gè)類不能被聲明為abstract拦盹,又被聲明為final。將變量或方法聲明為final溪椎∑沼撸可以保證他們?cè)谑褂玫臅r(shí)候不被改變。其初始化可以在兩個(gè)地方:一是其定義的地方校读,也就是在final變量在定義的時(shí)候就對(duì)其賦值沼侣;二是在構(gòu)造函數(shù)中。這兩個(gè)地方只能選其中的一個(gè)歉秫,要么在定義的時(shí)候給值蛾洛,要么在構(gòu)造函數(shù)中給值。被聲明為final的方法也只能使用雁芙,不能重寫轧膘。

2.finally:在異常處理的時(shí)候,提供finally塊來(lái)執(zhí)行任何的清除操作兔甘。如果拋出一個(gè)異常谎碍,那么相匹配的catch字句就會(huì)執(zhí)行,然后控制就會(huì)進(jìn)入finally塊裂明,前提是有finally塊椿浓。

3.finalize:finalize是方法名太援,java技術(shù)允許使用finalize()方法在垃圾收集器將對(duì)象從內(nèi)存中清除出去之前做必要的清理工作闽晦。這個(gè)方法是在垃圾收集器確認(rèn)一個(gè)對(duì)象沒(méi)有被引用時(shí)對(duì)這個(gè)對(duì)象調(diào)用的。它是在Object類中定義的提岔,因此仙蛉,所有的類都繼承了它。子類覆蓋finalize()方法已整理系統(tǒng)資源或者執(zhí)行其他清理工作碱蒙。finalize()方法是在垃圾收集器刪除對(duì)象之前對(duì)這個(gè)對(duì)象調(diào)用的荠瘪。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市赛惩,隨后出現(xiàn)的幾起案子哀墓,更是在濱河造成了極大的恐慌,老刑警劉巖喷兼,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件篮绰,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡季惯,警方通過(guò)查閱死者的電腦和手機(jī)吠各,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門臀突,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人贾漏,你說(shuō)我怎么就攤上這事候学。” “怎么了纵散?”我有些...
    開封第一講書人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵梳码,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我困食,道長(zhǎng)边翁,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任硕盹,我火速辦了婚禮符匾,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘瘩例。我一直安慰自己啊胶,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開白布垛贤。 她就那樣靜靜地躺著焰坪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪聘惦。 梳的紋絲不亂的頭發(fā)上某饰,一...
    開封第一講書人閱讀 52,255評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音善绎,去河邊找鬼黔漂。 笑死,一個(gè)胖子當(dāng)著我的面吹牛禀酱,可吹牛的內(nèi)容都是我干的炬守。 我是一名探鬼主播,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼剂跟,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼减途!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起曹洽,我...
    開封第一講書人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤鳍置,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后送淆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體税产,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了砖第。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片撤卢。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖梧兼,靈堂內(nèi)的尸體忽然破棺而出放吩,到底是詐尸還是另有隱情,我是刑警寧澤羽杰,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布渡紫,位于F島的核電站,受9級(jí)特大地震影響考赛,放射性物質(zhì)發(fā)生泄漏惕澎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一颜骤、第九天 我趴在偏房一處隱蔽的房頂上張望唧喉。 院中可真熱鬧,春花似錦忍抽、人聲如沸八孝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)干跛。三九已至,卻和暖如春祟绊,著一層夾襖步出監(jiān)牢的瞬間楼入,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工牧抽, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留嘉熊,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓阎姥,卻偏偏與公主長(zhǎng)得像记舆,于是被迫代替她去往敵國(guó)和親鸽捻。 傳聞我的和親對(duì)象是個(gè)殘疾皇子呼巴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法御蒲,內(nèi)部類的語(yǔ)法衣赶,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法厚满,線程的語(yǔ)...
    子非魚_t_閱讀 31,662評(píng)論 18 399
  • 1府瞄、.java源文件: 一個(gè)以”.java“為后綴的源文件:只能有一個(gè)與文件名相同的類,可以包含其他類。 2遵馆、類方...
    Hughman閱讀 1,473評(píng)論 1 9
  • java筆記第一天 == 和 equals ==比較的比較的是兩個(gè)變量的值是否相等鲸郊,對(duì)于引用型變量表示的是兩個(gè)變量...
    jmychou閱讀 1,504評(píng)論 0 3
  • (一)Java部分 1、列舉出JAVA中6個(gè)比較常用的包【天威誠(chéng)信面試題】 【參考答案】 java.lang;ja...
    獨(dú)云閱讀 7,114評(píng)論 0 62
  • 我不是來(lái)寫文章的货邓,只是想把一些內(nèi)容記下來(lái)秆撮! 2016.11想要在上海或周邊城市買一座房子换况,屬于自己的房子职辨,努力攢錢...
    wuliMark閱讀 176評(píng)論 0 0