异常输出消息动态生成String或StringBuilder或StringBuffer最好使用什么?
最佳答案
StringBuffer
大部分已被StringBuilder
取代,这是更快的,因为它不同步。除非您进行大量串联,否则String
很好。
由于您是在Exception
消息生成的上下文中询问此问题的,因此我想保持它的简单并使用String
。设计良好的系统不应经常抛出Exception
,以致StringBuilder
/ StringBuffer
的性能优势至关重要。
也就是说,例外的频率应足够低,以使详细消息的构造方式对整体性能几乎没有影响。 “过早的优化是万恶之源”。根据分析,仅优化需要它的部分。
如果您的代码花费大量时间为String
动态生成Exception
,那么您的设计确实存在问题。优化流程的这一部分并不会带来多大好处,因为无论如何构造异常都会使代价高昂(例如,堆栈跟踪捕获部分)。
关于java - 异常输出消息动态生成String或StringBuilder或StringBuffer最好使用什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2430883/