String 和 StringBuffer的区别?  equals 和 == 的区别?

解决方案 »

  1.   

    1、一个是常量,不可改变,一个是可改变;
    2、一个是使用方法比较,可能是HashCode,可能是本身的值;一个是比较对象地址。
      

  2.   

    Sting 声明时只能固定空间不能对其空间内的内容进行修改
    StringBuffer 声明的空间是带有缓冲区的可以改变空间的内容和大小
    == 是比较两个对象的标识符的直是否相等
    equals是比较标识符所指的两个内存空间的内容是否一样。
      

  3.   

    1.String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer.StringBuffer是放在对象池中的。2. "=="  比较的是一个对象在内存中的地址值
    如果是基本类型比较,那么只能用==来比较,不能用equals ;
    对于基本类型的包装类型,比如Boolean、Character、Byte、Shot、Integer、Long、Float、Double等的引用变量, "==" 是比较地址的,而equals是比较内容的;
    对字符变量来说: 
     "==" 比较两个变量本身的值,即两个对象在内存中的首地址。 
    “equals()”比较字符串中所包含的内容是否相同 
          (  StringBuffer类中没有重新定义equals这个方法,因此这个方法就来自Object类, 而Object类中的equals方法是用来比较“地址”的; 
           String类中定义重新定义了equals这个方法,比较的是“值”不是“地址” 。) 
    对非字符变量来说: 
     "==" 和"equals"方法的作用是相同的 ,都是用来比较其对象在堆内存的首地址,即用来比较两个引用变量是否指向同一个对象
      

  4.   

    又来了
    String 和 StringBuffer是两个完全不搭界的类
    equals 和 == 一个是方法一个不是,完全不搭界
      

  5.   

    想要相关语言的所有资料吗?那就快来吧。
    我的压缩包里面不止一两样东西哦,那可是我当初学习的所有资料。
    http://download.csdn.net/user/yangtonghai
      

  6.   


    师兄!麻烦你能把这个资料发到我邮箱吗?[email protected] 多谢多谢!