Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Android

Cách dùng StringBuffer trong Android

Giới thiệu

StringBuffer tương tự StringBuilder nhưng thread-safe (đồng bộ hóa), phù hợp môi trường đa luồng.

Bước 1-2: Project & Giao diện

Giống y hệt StringBuilder (5 TextView).

Bước 3: MainActivity.java - thay StringBuilder bằng StringBuffer

package com.example.myapplication;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    EditText edit_query;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        edit_query = findViewById(R.id.edit_query);
        final TextView tv = findViewById(R.id.text);
        final TextView tv1 = findViewById(R.id.text1);
        final TextView tv2 = findViewById(R.id.text2);
        final TextView tv3 = findViewById(R.id.text3);
        final TextView tv4 = findViewById(R.id.text4);

        findViewById(R.id.click).setOnClickListener(v -> {
            String input = edit_query.getText().toString();
            if (input.isEmpty()) return;

            StringBuffer sb = new StringBuffer(input);
            tv.setText("Gốc: " + sb);
            tv1.setText("Insert tại 0: " + sb.insert(0, "tutorialspoint.com "));
            tv2.setText("Capacity: " + sb.capacity());
            tv3.setText("Delete(1,3): " + sb.delete(1, 3));
            tv4.setText("Append: " + sb.append(" appended"));
        });
    }
}

So sánh StringBuilder vs StringBuffer

Đặc điểmStringBuilderStringBuffer
Thread-safeKhôngCó (synchronized)
Hiệu năngCao hơnThấp hơn do khóa
Sử dụng khiSingle-thread, hiệu năng quan trọngMulti-thread chia sẻ buffer

Chạy ứng dụng

Kết quả giống StringBuilder nhưng an toàn cho đa luồng.

Cách dùng StringBuffer trong Android