问答详情
源自:2-6 Java 中的 StringBuilder 类的常用方法

关于String和StringBuilder对象的比较

StringBuilder sb = new StringBuilder("abc");

String s = sb.toString();

System.out.println(s.equals(sb));

为啥输出的是false,内容不是一样么?

提问者:king124 2016-12-09 15:15

个回答

  • 历飞雨
    2016-12-12 18:52:57
    已采纳

    首先,你的知道equals()比较的是什么.    在同一个类里,比较字符串中包含的内容是否相同。

    而你知道他们的字符串是相等的,但是他们不同类

  • 灬糖度
    2016-12-09 17:42:31

    内存分配不一样. sb是可变的, s 不可变.

  • reburn
    2016-12-09 16:04:06

    equals比较的是的类的类型是否相同,类的属性和方法是否相同

  • 慕粉2015416447
    2016-12-09 15:40:09

    toString()是输入字符串每个字符的组合,StringBuilder定义的是字符串,本质不同