StringBuffer ss = new StringBuffer();
StringBuffer tt = new StringBuffer();
ss.append("02"+" ");
ss.append("07"+" ");
ss.append("10"+" ");
ss.append("15"+" ");
ss.append("19"+" ");
ss.append("33"+" ");
ss.append("+"+"08");
tt.append("02"+" ");
tt.append("07"+" ");
tt.append("10"+" ");
tt.append("15"+" ");
tt.append("19"+" ");
tt.append("33"+" ");
tt.append("+"+"08");
/*String ss = "02 07 10 15 19 33 +08";
String tt = "02 07 10 15 19 33 +08";*/
System.out.println(ss);
System.out.println(tt);
if(ss.equals(tt)){
System.out.println("匹配");
}
请大家指点下,怎么打印不出“匹配”;

解决方案 »

  1.   

    if((ss.toString()).equals(tt.toString())){
    System.out.println("匹配");
    }
      

  2.   

    1.因为StringBuffer这个类没有重写object的equals方法,object的equals比较的是地址
    2.String类重写了,equals比较的是内容
    如果你想输出匹配,转化为string,ss.toString().equals(tt.toString())
      

  3.   

    StringBuffer类并没有重写equals的方法,所以这里的equals方法还是在比较两个引用时否指向同个对象,而非比较对象的内容是否相同
      

  4.   

    if(ss.toString().equals(tt.toString())){
    System.out.println("匹配");
    }
      

  5.   

    StringBuffer 没重写equals,用这句试试:
    if((ss.toString()).equals(tt.toString()));