面試官再問String面試題,教你如何滿分回答

2021-10-05 23:18:53 字數 1182 閱讀 1485

判定定義為string型別的st1和st2是否相等,為什麼?

public

class

compare_string

}

輸出結果:

true、true

分析:== 比較運算子,如果是基本資料型別,比較的是值是否相等,如果是引用資料型別,比較的是位址值是否相等,』『abc』'是儲存在常量池中的,常量池有乙個特點,如果已經存在,就不會再重複的建立物件,所以兩個str1、str2是指向的同乙個位址,賦值給兩個字串物件,故(str1 == str2)輸出為true。

使用equals()方法既要比較位址值又要比較值是否相同,所以str1.equals(str2)輸出也為true。

下面這句話在記憶體中建立了幾個物件?

string st1 =

newstring

(「abc」)

;

輸出結果:

2個分析:

在記憶體中建立了兩個物件,new 是在堆記憶體中建立的物件,』『abc』'是在常量池中建立的物件。堆記憶體中的物件是常量池物件的乙個拷貝副本。

當我們看到了new這個關鍵字,就要想到只要是new出來的物件都是在堆記憶體中儲存

判定以下定義為string型別的st1和st2是否相等?

package string;

public

class

compare_string

}

輸出結果:

false、true

分析:new關鍵字,物件的引用指向堆記憶體,"abc"在常量池中

判定以下定義為string型別的st1和st2是否相等

public

class

compare_string

}

輸出結果:

true、true

分析:「a」 + 「b」 + "c"本來就是字串常量,字串拼接後還是字串,在常量池中儲存,常量池中存在乙個物件就不會再重複建立乙個相同的物件,所以都為true。

判斷以下st2和st3是否相等

package string;

public

class

compare_string

}

面試官揭秘500強面試題

新春剛過,新一輪人才的競爭又將展開,面試和複試似乎已成為一般企業招聘不可或缺的環節,而優秀的企業必有獨特的選擇人才的方式,那麼您知道世界500 強的面試題有什麼不同嗎?布萊爾 沃森,這位25年來500強公司的面試官,首次揭秘對答的所有問題和成功應試的秘訣。本書的問題,是軟體業人士在面試時常問的,其中...

Redis吊打面試官的經典面試題整理

1 redis為什麼是key,value的,為什麼不是支援sql的?這題第一眼看到有點懵逼 選擇key value的原因 key value簡單粗暴,使用方便?效率更佳?為什麼不支援sql 因為redis的記憶體模型是乙個hashtable,不使用表來儲存資料,也不會預定義或強制要求使用者對redi...

Redis吊打面試官的經典面試題整理

1 redis為什麼是key,value的,為什麼不是支援sql的?這題第一眼看到有點懵逼 選擇key value的原因 key value簡單粗暴,使用方便?效率更佳?為什麼不支援sql 因為redis的記憶體模型是乙個hashtable,不使用表來儲存資料,也不會預定義或強制要求使用者對redi...