Giới thiệu
StringBuilder tạo chuỗi có thể thay đổi (mutable), không thread-safe, hiệu năng tốt hơn String khi nối chuỗi nhiều lần.
Bước 1: Tạo project mới
Android Studio → File → New Project.
Bước 2: Giao diện (res/layout/activity_main.xml)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center_horizontal"
android:layout_marginTop="100dp"
tools:context=".MainActivity">
<EditText android:id="@+id/edit_query" android:layout_width="match_parent"
android:layout_height="wrap_content" android:hint="Nhập chuỗi" />
<Button android:id="@+id/click" android:layout_marginTop="50dp"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:background="#c1c1c1" android:textColor="#FFF" android:text="Xử lý" />
<TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<TextView android:id="@+id/text1" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<TextView android:id="@+id/text2" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<TextView android:id="@+id/text3" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<TextView android:id="@+id/text4" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</LinearLayout>
Bước 3: MainActivity.java
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;
StringBuilder sb = new StringBuilder(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"));
});
}
}
Giải thích các phương thức
insert(offset, str): chèn chuỗi tại vị trí offset.capacity(): dung lượng bộ nhớ hiện tại.delete(start, end): xóa ký tự từ start đến end-1.append(str): nối chuỗi vào cuối.
Chạy ứng dụng
Hiển thị kết quả từng bước thao tác trên StringBuilder.
