Sb pada asasnya ialah objek StringBuffer Secara langsung sb+"" sedang memanggil sb.toString() untuk menyambungkannya dengan "". Sebabnya ialah kelas String dalam Jdk adalah jenis akhir, tetapi mengapa versi diubah suai akhir boleh wujud dalam bentuk String str = s + "";? Kerana dalam jvm, setiap kali + dilaksanakan, objek String sementara akan dibuat, dan kemudian String str = a + b anda lihat sebenarnya String str = new String(b); cara, jika terdapat terlalu banyak rentetan untuk disambungkan, banyak objek String akan diwujudkan Oleh itu, overhead gc akan meningkat Oleh itu, operasi yang kerap tidak menggunakan penyambungan rentetan, tetapi menggunakan StringBuilder atau StringBuffer.
Sb pada asasnya ialah objek StringBuffer Secara langsung sb+"" sedang memanggil sb.toString() untuk menyambungkannya dengan "". Sebabnya ialah kelas String dalam Jdk adalah jenis akhir, tetapi mengapa versi diubah suai akhir boleh wujud dalam bentuk String str = s + "";? Kerana dalam jvm, setiap kali + dilaksanakan, objek String sementara akan dibuat, dan kemudian String str = a + b anda lihat sebenarnya String str = new String(b); cara, jika terdapat terlalu banyak rentetan untuk disambungkan, banyak objek String akan diwujudkan Oleh itu, overhead gc akan meningkat Oleh itu, operasi yang kerap tidak menggunakan penyambungan rentetan, tetapi menggunakan StringBuilder atau StringBuffer.