hashCode()
和equals()
方法均未StringBuffer
和StringBuilder
重写时,我试图这块以下代码..关于方法在StringBuffer和StringBuilder中没有被覆盖?
//StringBuffer does not override equals & hashCode
//StringBuffer s = new StringBuffer("saral");
//StringBuffer s1 = new StringBuffer("saral");
StringBuilder s = new StringBuilder("saral");
StringBuilder s1 = new StringBuilder("saral");
//String s = new String("saral");
//String s1 = new String("saral");
HashSet set=new HashSet();
set.add(s);
set.add(s1);
set.add(null);
System.out.println("There are "+set.size()+" elements in the set.");
所得出来余马得到的是3在两个当我使用的情况下StringBuffer
或StringBuilder
但在字符串的情况下,2,因为字符串已覆盖hashCode()
和equals()
方法,请告知。
StringBuilder还有其他用途,比如使用CharSequence来避免分配。不幸的是它没有得到执行。 – NateS 2012-06-15 10:30:51