java - Saya tidak faham kod pada baris 13. Adakah sb dan str bukan jenis yang sama?
漂亮男人
漂亮男人 2017-05-17 10:04:19
0
2
376
public class TestStringBuffer{
    public static void main(String[] args){
        StringBuffer sb = new StringBuffer();
        sb.append("abc");
        sb.append("123");
        System.out.println("sb = " + sb); 
        sb.insert(3, "--"); 
        System.out.println("sb = " + sb); 
        sb.delete(2,6); 
        System.out.println("sb = " + sb);
        sb.reverse();
        System.out.println("sb = " + sb); 
        String str = sb.toString();  // 13行
        System.out.printf("str = " + str);
    }
}
漂亮男人
漂亮男人

membalas semua(2)
阿神
StringBuffer 
String

Bagaimana ini boleh menjadi jenis StringBuffer akan tersirat apabila melakukan penggabungan rentetan + atau output Laksanakan toString() untuk menukar kepada StringStringBuffer在做字符串连接 + 或者输出的时候
会隐式执行toString()转化为String

第13行是显示的执行 sb.toString()sb转换为 String

Baris 13 ialah pelaksanaan sb.toString() yang dipaparkan untuk menukar sb kepada String#🎜🎜#
Peter_Zhu

StringBuffer: String buffer
String: String
Apabila mengubah suai kepada rentetan, anda perlu menggunakan StringBuffer#🎜 dan String🎜class. Berbeza daripada kelas String, objek kelas StringBuffer dan StringBuilder
boleh diubah suai beberapa kali tanpa menghasilkan objek baharu yang tidak digunakan .

Kelas StringBuilder telah dicadangkan dalam Java 5. Perbezaan terbesar antaranya dan StringBuffer ialah kaedah StringBuilder tidak selamat untuk benang (tidak boleh diakses secara serentak).

Oleh kerana StringBuilder mempunyai kelebihan kelajuan berbanding StringBuffer, adalah disyorkan untuk menggunakan kelas StringBuilder dalam kebanyakan kes. Walau bagaimanapun, dalam kes di mana aplikasi memerlukan keselamatan benang, kelas StringBuffer mesti digunakan.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan