0
A
回答
2
好了,除了一个循环中创建新对象的轻微代码味道,我能看到你里面创建一个StringBuilder for循环生成在每个项目的长字符串for循环。
但是,您也可以将其范围限制在for循环之外并在每次传递时将其清除。取决于你如何认为它会更容易阅读。
0
如果你是在与另一个外部StringBuilder结合使用它。
StringBuilder sbAll = new StringBuilder();
for (int i=0; i<cnt; i++) {
....
{
StringBuilder sb = new StringBuilder();
sb.append(",");
sbAll.append(sb.toString());
}
}
问题是你在循环里面做了什么,它足够可爱,需要一个单独的StringBuilder?我想这是可能的。
0
如果内循环后面的代码正在做一些需要大量内存的事情,并且内循环内的StringBuilder也很大,那么您可能希望将它放在本地范围内,以便它可以被GC之后免费记忆。否则,我同意JBristow它应该在循环外部作用域,并在内部循环开始时清除(可能还有trimToSize()'d)。
相关问题
- 1. StringBuilder的for循环
- 2. 不一致的StringBuilder在一个循环
- 3. for循环内另一个for循环Python
- 4. 将2 for循环放置在另一个for findtr循环内for
- 5. ForElse循环在另一个For循环
- 6. 内for循环
- 7. 甲骨文FOR循环内FOR循环
- 8. for循环for循环内c
- 9. linq for for循环内foreach循环
- 10. 等待一个jQueryanimation内for循环
- 11. 如果条件一个FOR循环内
- 12. Php for循环在另一个for循环内不能正常工作?
- 13. 在循环内增加for循环
- 14. 在特定时间内执行一个for循环
- 15. For循环for另一个循环在R
- 16. 如何在for循环中获得另一个for循环
- 17. 如何制作一个退格按钮,删除for循环内的一个stringbuilder的最后一个字符
- 18. For循环,一个循环内进行递增
- 19. 用于内部另一个循环for循环的JavaScript(jQuery的)
- 20. for循环内的一个while循环 - o(n)平方?
- 21. 在for循环内查询
- 22. For循环内Foreach
- 23. 制作一个嵌套的for循环到单一for循环
- 24. 更新外部循环的值,For循环在另一个For循环
- 25. IndexOutOfRangeException在使用StringBuilder嵌套for循环在c#
- 26. 如何在一个循环内循环
- 27. 在第一个循环中显示一次for循环内的文本
- 28. For循环,除以一个
- 29. AsyncJS用一个for循环
- 30. 打破一个for循环
“在循环内创建新对象的轻微代码气味” - 这怎么可能是“代码味道”?每个Linq到对象的查询都是一个循环(或多个循环),它们总是可以随时创建对象。 – 2010-04-14 18:13:30
你只是想看看你在循环内做什么。在这种情况下,没有问题。有可能你可能会创建一堆带有副作用的对象,导致他们稍后出现问题。正如我所说,这只是一个小问题,但在创建非价值对象时需要考虑一些问题。 – 2010-04-14 18:17:05