java中"" 和'' 分别引多个和一个字符,搞不懂,后台的真正区别是什么啊? 
""引string 存放在堆上(stack)
''引char 存放在栈上(heap)
根据。。
Java中的数据类型有两种。基本类型(primitive types), 共有8种,即int, short, long, byte, float, double, boolean, char。存在于栈中。另一种是包装类数据,如Integer, String, Double等将相应的基本数据类型包装起来的类。这些类数据全部存在于堆中.

解决方案 »

  1.   

    你问的是基本数据类型和对象的区别,还是char和String的区别?
      

  2.   

    回fool_leave() ,
    ''与""的区别就是分别引用char和String 的区别吗?
    同为"字符"我想知道java编译器的处理有什么不同,以及java要这么做的必要性是什么,
      

  3.   

    看来你除了java还对其他语言有点了解在java中"aaa"和new String("aaa")的使用是一样的。字符串本身就是一个对象,如果你有兴趣可以到jdk源码中找到String,实际上它也只不过是一个final的class,他有一个类变量char[]用来存储String数据(char[]也是一个对象)。而char是一个基本类型,如'a',它是一个数值,不是一个对象。自然只有对象才有自己的属性和方法了。对照vc,如果你在vc里面定义一个字符串"aaa",实际上你只是申请了一块内存,可以用LPSTR来指向,或者直接用char*。这样一看就明显了,vc里的"aaa"不是一个对象,他本身没有任何方法和属性,除非我们构造一个CString来包装它。那么char 'a'和"aaa"的感觉是差不多。(使用上还是不同的)至于必要性,不如说是方便性。对于String "aaa"的操作方便多了。