Maison  >  Questions et réponses  >  le corps du texte

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

PHP中文网PHP中文网2716 Il y a quelques jours649

répondre à tous(1)je répondrai

  • PHP中文网

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

    Sb est essentiellement un objet StringBuffer. Directement, sb+"" appelle sb.toString() pour le raccorder à "". De plus, StringBuffer est thread-safe. Pourquoi utiliser StringBuilder ou StringBuffer ? La raison en est que la classe String dans Jdk est de type final, mais pourquoi la version finale modifiée peut-elle exister sous la forme de String str = s + "" ;? Parce que dans jvm, chaque fois que + est exécuté, un objet String temporaire sera créé, puis le String str = a + b; est en fait String str = new String(a) + new String(b); De cette manière, s'il y a trop de chaînes à épisser, de nombreux objets String seront créés. Par conséquent, la surcharge de gc augmentera. Par conséquent, ces opérations fréquentes n'utilisent pas directement l'épissage de chaînes, mais utilisent StringBuilder ou StringBuffer replace.

    répondre
    0
  • Annulerrépondre