有没有办法在循环中重用Formatter或者我只是实例化并让垃圾收集器处理它?(这是一个Java问题).请注意,如果我将实例化从循环中取出,则循环中先前迭代的格式化内容将被附加到.Formatter.flush()似乎只是刷新,它的名称是真的,并没有提供允许重复使用干净的平板的好处.
例:
for (...)
{
Formatter f = new Formatter();
f.format("%d %d\n", 1, 2);
myMethod(f.toString());
}
Run Code Online (Sandbox Code Playgroud)
你可以像这样使用它:
StringBuilder sb = new StringBuilder();
Formatter f = new Formatter(sb);
for (...)
{
f.format("%d %d\n", 1, 2);
myMethod(sb.toString());
sb.setLength(0);
}
Run Code Online (Sandbox Code Playgroud)
这将重用Formatter和StringBuilder,这可能会或可能不会为您的用例带来性能提升.
| 归档时间: |
|
| 查看次数: |
2916 次 |
| 最近记录: |