2012-06-06 46 views

回答

2

一個是基元的陣列。

另一個是具有有用功能的完整對象。

1

以及簡單的講,

String str= new String("ABC"); 字符串是一個不可變的對象(它的值不能改變)表示的字符序列。它有有用的字符串操作方法(indexOf,split等)

char str[]={'A','B','C'}; char數組就是這樣的:一個字符數組。它具有固定的長度,您可以根據需要更改其內容。它沒有任何字符串操作方法。

+0

嗨Anurag在內存中沒有區別? –

+0

字符串包含以下內容: char數組 - 因此是一個單獨的對象 - 包含實際字符; 一個整數偏移到字符串開始的數組中; 字符串的長度; 另一個int用於哈希碼的緩存計算。 所以假設它佔用比char數組更多的空間是非常安全的。 –

+0

@ AbhishekV.Bajaj - 在天真的實現中,String對象包含一個長度字段,一個偏移量字段,一個散列值字段和一個對'char []'數組的引用。 char []數組是一個單獨的對象,可以與其他的String對象共享(例如,在子串操作的情況下)。 –

0
char str[]={'A','B','C'}; 

此字符的數組,它是三個元件長

String str= new String("ABC"); 

這是具有有用的方法,可以在它被稱爲String對象。

+1

如果問題答案的人解釋他們的推理,那將會很好。 –

相關問題