Java – String

Bài viết này chúng ta sẽ cùng nhau tìm hiểu về string trong Java, các loại string khác nhau, và làm thế nào để khai báo một string trong Java.

String trong Java là tập hợp các ký tự Java và chúng là immutable, chúng sẽ không thể thay đổi sau khi tạo.

Có 2 cách tạo Java string:

  • Sử dụng chuỗi ký tự trong Java
String s = "hello world";
  • Sử dụng từ khoá new trong Java
String s = new String ("Hello again");

Constructor trong Java

Có rất nhiều loại constructor Java. Chúng ta hãy cùng xem từng loại sau

String(byte[] byte_arr)

Khởi tạo một string mới bằng cách giải mã các mảng byte sử dụng bộ ký tự Java mặc định của nển tảng để giải mã

byte[] b_arr = {81, 101, 101, 107, 115};
String s_byte = new String(b_arr);

String(byte[] byte_arr, Charset char_set)

Khởi tạo một string mới bằng cách giải mã các mảng byte sử dụng char_set để giải mã

byte[] b_arr = {81, 101, 101, 107, 115};
Charset cs = Charset.defaultCharset();
String s_byte_char = new String(b_arr, cs);

String(byte[] byte_arr, String char_set_name)

Khởi tạo một string mới bằng cách giải mã các mảng byte sử dụng char_set_name của nển tảng để giải mã

byte[] b_arr = {68, 101, 101, 107, 115};
String s = new String(b_arr, "US-ASCII");

String(byte[] byte_arr, int start_index, int length)

Khởi tạo một string mới bằng cách giải mã các mảng byte dựa trên start_index (vị trí bắt đầu), length (số ký tự từ vị trị bắt đầu), sử dụng char_set để giải mã

byte[] b_arr = {68, 101, 101, 107, 115};
Charset cs = Charset.defaultCharset();
String s = new String(b_arr, 1, 3, cs);

String(byte[] byte_arr, int start_index, int length, String char_set_name)

Khởi tạo một string mới bằng cách giải mã các mảng byte dựa trên start_index (vị trí bắt đầu), length (số ký tự từ vị trị bắt đầu), sử dụng char_set_name để giải mã

byte[] b_arr = {71, 101, 101, 107, 115};
String s = new String(b_arr, 1, 4, "US-ASCII");

String(char[] char_arr)

Phương thức này cấp phát một String mới từ mảng ký tự Java.

char char_arr[] = {'d', 'o', 'g', 'k', 's'};
String s = new String(char_arr);

String(char[] char_array, int start_index, int count)

Phương thức này cấp phát một String mới cho mảng các ký tự đã cho, chỉ khác là nó lựa chọn ký tự đếm từ index đầu tiên.

char char_arr[] = {'w', 'e', 'e', 'k', 's'};
String s = new String(char_arr , 1, 3);

String(int[] uni_code_points, int offset, int count)

Phương thức này cấp phát một String mới từ uni_code_array nhưng chọn ký tự đếm từ start_index

int[] uni_code = {61, 101, 101, 107, 115};
String s = new String(uni_code, 1, 3);

String(StringBuffer s_buffer)

Phương thức này cấp phát một phương thức khởi tạo cho string trong s_buffer

String s_builder = "dogs";
String s = new String(s_builder);

Phương thức của String

int length()

Trả về số ký tự trong string

"Shadow".length();

Char charAt(int i)

Trả về ký tự tại index thứ i

"Shadow".charAt(1);

String substring (int i)

Trả về string con từ index thứ i

"Shadow".substring(3);

String Substring (int i, int j)

Trả về string con từ index thứ i đến j-1

"Shadow".substring(2, 5);

String concat( String str)

Phương thức dùng để nối string chỉ định vào cuối string này

String s1 = "Shadow";
String s2 = "isfive";
String output = s1.concat(s2);

int indexOf (String s)

Trả về index trong string của chuỗi s được chỉ định tìm thấy đầu tiên trong string.

String s = "Shadow is Five";
int output = s.indexOf("Five");

int indexOf (String s, int i)

Trả về index trong string của chuỗi s được chỉ định tìm thấy đầu tiên trong string, bắt đầu từ index

String s = "Shadow is Five";
int output = s.indexOf('a',3);

Int lastindexOf( int ch)

Trả về index trong string của chuỗi ch được chỉ định tìm thấy cuối cùng trong string.

String s = "Shadow is five";
int output = s.lastindexOf('a');

boolean equals( Object otherObj)

So sánh string với object chỉ định

Boolean out = "shadow".equals("shadow"); // Trả về true
Boolean out = "shadow".equals("Shadow"); // Trả về false

boolean equalsIgnoreCase (String anotherString)

So sánh 2 chuỗi không phân biệt chữ hoa và chữ thường

Boolean out= “shadow”.equalsIgnoreCase("shadow"); // trả về true
Boolean out = “Shadow”.equalsIgnoreCase("shadow"); // trả về true

int compareTo( String anotherString)

So sánh 2 chuỗi

int out = s1.compareTo(s2);
// So sánh chuỗi s1 và s2
Kết quả trả về như sau:
out < 0  // s1 < s2
out = 0  // s1 = s2.
out > 0   // s1 > s2

int compareToIgnoreCase( String anotherString)

So sánh 2 chuỗi không phân biệt chữ hoa và chữ thường

int out = s1.compareToIgnoreCase(s2);
// So sánh s1 và s2
// Kết quả trả về như sau:
out < 0  // s1 < s2
out = 0   // s1 = s2
out > 0   // s1 > s2

String toLowerCase()

Chuyển đổi toàn bộ ký tự trong chuỗi thành chữ thường

String word1 = "Hi";
String word3 = word1.toLowerCase();

String toUpperCase()

Chuyển đổi toàn bộ ký tự trong chuỗi thành chữ hoa

String word1 = "Hi";
String word2 = word1.toUpperCase();

String trim()

Xoá khoảng trắng ở đằng trước và đằng sau của string. Nó không ảnh hưởng đến những khoảng trắng bên trong string.

String word1 = " shadow is five ";
String word2 = word1.trim();

String replace (char oldChar, char newChar)

Trả về string mới sau khi thay thế toàn bộ oldChar thành newChar trong string.

String s1 = "shadowisfive ";
String s2 = "shadowisfive".replace('f', 'g');

 

 

You May Also Like

About the Author: Nguyen Dinh Thuc

Leave a Reply

Your email address will not be published.