Rumah  >  Soal Jawab  >  teks badan

java - Saya tidak faham kod pada baris 13. Adakah sb dan str bukan jenis yang sama?

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);
    }
}
漂亮男人漂亮男人2712 hari yang lalu344

membalas semua(2)saya akan balas

  • 阿神

    阿神2017-05-17 10:06:19

    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#🎜🎜#

    balas
    0
  • 天蓬老师

    天蓬老师2017-05-17 10:06:19

    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.

    balas
    0
  • Batalbalas