hashCode()和equals()方法均未覆盖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.");
Run Code Online (Sandbox Code Playgroud)
从而导致在来我是个得到的是3两的情况下,当我使用StringBuffer或StringBuilder字符串的情况下,但2,因为字符串具有覆盖hashCode()和equals()方法,请告知.
StringBuilder/StringBuffer是为更高效的字符串操作而创建的,而不是为商店值创建的.因此,您不应将其用作密钥或实现您的版本.或者只是打电话toString给它.
| 归档时间: |
|
| 查看次数: |
1102 次 |
| 最近记录: |