【发布时间】:2013-08-26 16:06:22
【问题描述】:
使用String s1="java"; 和String s2= new String("java"); 时
这两个都创建不同的字符串对象吗?我知道如果我使用 String s3="java" 它使用相同的对象 s1 但在 s2 情况下它是否也使用相同的对象?如果是这样,那么为什么StringBuffer sb = new StringBuffer("java"); 使用不同的对象。因为如果我这样做 System.out.println(sb.equals( s1 )); 它返回 false;
我对equals方法的理解是它比较两个引用是否引用同一个对象,除非我们重写了equals方法,如果我的理解有误,请告诉我。
【问题讨论】:
-
你说得对。
-
String 覆盖
equals方法来比较字符串内容。但是,StringBuffer 没有。