C言语中字符串是以'/0'结尾,为什么在java中不需要了呢?

解决方案 »

  1.   

    好象因为java中将字符串看成对象,(只有少数几种基本类型不看成对象,其他都是)所以存放在堆内存中,使用的时候是去引用或调用,不需要判断他的结尾,而c语言中由于存储情况不同,所以加了个标志以分清是否结束。
      

  2.   

    C语言的字符串是用字符数组来存储的,因为数组长度是固定的(通常大于字符串的长度),所以程序员在不能确定字符串长度的情况下,需要知道字符串在什么位置结束,这个结束标志就是'\0'。而Java的字符串是String类的实例,虽然String的内部也是用字符数组来存储字符串,但String是一个构造复杂的类,定义了相当多的属性、方法及运算,程序员已经不需要借助于'\0',就能完成对字符串的各种操作了。C没有字符串类型,C的“字符串”本质上是一种约定,是数组的一种特殊用法。而Java的字符串是对象化的,是强制的,也是更高级的。
      

  3.   

    因为String是一个对象,在其类的定义中有count这个属性,用来判断字符串长度。深入的说是Java中数组具有length这个属性.