String原始碼分析,解讀面試題

2021-08-07 06:59:20 字數 706 閱讀 9468

1.string類不可被繼承

#string類定義

public final class string

2.string是不可變物件

#string屬性

private final char

value;

private

int hash;

3.下面的**建立了幾個string例項?

string s = new

string("hello world!");

通過下面的構造方法分析問題

#string構造方法

public

string(string orginal)

4.對比陣列,string獲取長度的方法?

string s = new

string("hello world!");

int slen = s.length();

int arr = ;

int arrlen = arr.length;

#string原始碼

private final char

value;

public

intlength()

String原始碼分析

前言 string類在日常開發過程中使用頻率非常高,平時大家可能看過string的原始碼,但是真的認真了解過它麼,筆者在一次筆試過程中要求寫出string的equals方法,瞬間有點懵逼,憑著大致的理解,算是寫出來了,可是下來一翻string的原始碼頓悟,原來自己寫得是多麼的low,所以有必要把這些...

原始碼分析之String

先看屬性 底層是char陣列,一目了然 可以看到,value是儲存string的內容的,即當使用string str abc 的時候,本質上,abc 是儲存在乙個char型別的陣列中的。string底層的儲存結構是乙個字元型別的陣列,同樣也是被final修飾,因此一旦這個字元陣列被建立後,value...

STL原始碼分析 string

從定義可知,string其實是base string的特化類,string使用預設的記憶體分配器 stl default allocator chart template class alloc stl default allocator chart class basic string typed...