2012-06-06 22 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

如果问题答案的人解释他们的推理,那将会很好。 –

相关问题