StringBuffer toms = new StringBuffer("abc");
StringBuffer cats = new StringBuffer("abc");
System.out.println(toms.equals(cats));结果为false,为啥?

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【bluefates】截止到2008-07-19 22:10:03的历史汇总数据(不包括此帖):
    发帖的总数量:32                       发帖的总分数:360                      每贴平均分数:11                       
    回帖的总数量:16                       得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:28                       结贴的总分数:305                      
    无满意结贴数:10                       无满意结贴分:180                      
    未结的帖子数:4                        未结的总分数:55                       
    结贴的百分比:87.50 %               结分的百分比:84.72 %                  
    无满意结贴率:35.71 %               无满意结分率:59.02 %                  
    楼主加油
      

  2.   

    因为StringBuffer没有重写equals()方法,所以使用的是从Object继承的equals()方法,而那个方法是比较奥两个对象是不是相同,不是比较对象的值是否相同。
    Object中的实现:
    public boolean equals(Object obj) {
    return (this == obj);
        }