検索

ホームページ  >  に質問  >  本文

java - StringBuffer转成String,可以不同过tostring,而是通过+“”的方式转换吗?

PHP中文网PHP中文网2803日前716

全員に返信(1)返信します

  • PHP中文网

    PHP中文网2017-04-18 10:48:23

    sb は本質的に StringBuffer オブジェクトです。sb+"" は sb.toString() を呼び出して "" と結合します。また、StringBuffer はスレッド セーフです。その理由は、Jdk の String クラスが Final 型であるためですが、最終的に変更されたバージョンが String str = s + ""; の形式で存在できるのはなぜですか? jvm では、 + が実行されるたびに一時 String オブジェクトが作成され、実際には String str = new String(a) + new String(b) になります。ただし、結合する文字列が多すぎると、多くの String オブジェクトが作成されるため、このような頻繁な操作は文字列結合を直接使用せず、StringBuilder または StringBuffer を使用します。

    返事
    0
  • キャンセル返事