>  Q&A  >  본문

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

PHP中文网PHP中文网2716일 전646

모든 응답(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 = a + b가 실제로 표시됩니다. 그런데 스플라이싱할 문자열이 너무 많으면 많은 String 개체가 생성되므로 gc의 오버헤드가 증가하므로 이러한 빈번한 작업은 문자열 스플라이싱을 직접 사용하지 않고 StringBuilder 또는 StringBuffer를 사용합니다.

    회신하다
    0
  • 취소회신하다