一尘不染

JavaString,StringBuffer和StringBuilder

java

请告诉我一个实时的情况来比较String,StringBuffer和StringBuilder?


阅读 346

收藏
2020-03-04

共1个答案

一尘不染

如果使用的是JGraph,则应尝试为算法设计的JGraphT。它的功能之一是使用JGraph库进行可视化。它仍然开发,但相当稳定。我前段时间分析了JGraphT算法的复杂性。其中一些并不是最快的,但是如果你要自己实现它们并需要显示图形,那么它可能是最佳选择。我真的很喜欢使用它的API,当时我不得不快速编写一个在图形上工作并稍后显示的应用程序。变异性差异:

String是不可变的,如果你尝试更改其值,则会创建另一个对象,而StringBuffer和StringBuilder是可变的,因此它们可以更改其值。

线程安全差异:

之间的区别StringBuffer,并StringBuilderStringBuffer是线程安全的。因此,当应用程序只需要在单个线程中运行时,最好使用StringBuilder。StringBuilder比效率高StringBuffer

情况:

  • 如果你的字符串不打算更改,请使用String类,因为String对象是不可变的。
  • 如果你的字符串可以更改(例如:字符串构造中的大量逻辑和操作),并且只能从单个线程进行访问,则使用a StringBuilder就足够了。
  • 如果你的字符串可以更改,并且可以从多个线程访问,请使用a StringBuffer因为它StringBuffer是同步的,所以你具有线程安全性。
2020-03-04