为什么要在Set中添加StringBuilder类型的元素,并且它以空格[closed]开头]]

问题描述 投票:-1回答:1

Set<StringBuilder> cur1 = new HashSet<StringBuilder>(); for (int j = 0; j < 2; j++) { StringBuilder cur = new StringBuilder("()"); cur.insert(j,"()"); System.out.println(cur); cur1.add(cur); System.out.println(cur1); }

结果是

()() [()()] (()) [()(), (())]

当我将“(())”添加到集合cur1中时,它表明cur1添加了一个“(())”,也许我犯了一些错误,或者存在一些我不知道的规则?设置

cur1 =新的HashSet

java stringbuilder
1个回答
2
投票
这就是Set的toString的样子,它显示的元素之间带有逗号和空格。

1
投票
正如每个人在评论中指出的,只是toString方法为相邻元素添加了逗号和空格

1
投票
[如在其他答案中已经指出的,这是toString类中的AbstractCollection的默认实现,这意味着从AbstractCollection派生的任何类,例如AbstractListAbstractQueueAbstractSetArrayDequeConcurrentLinkedDeque或其子级(例如ArrayListAbstractList的子级)默认情况下将显示相同的行为。
© www.soinside.com 2019 - 2024. All rights reserved.