You are on page 1of 5

STRING IN JAVA

Khái niệm:
Trong java thì String là 1 lớp quản lý kiểu dữ liệu văn bản
Chuỗi là tập hợp các ký tự vd: "I love you … 3000"
Cách khai báo:
1. By string literal
2. By new keyword

literal: Các chuỗi literal là các chuỗi ký tự được định


nghĩa bằng cách sử dụng cú pháp "". Các chuỗi literal được
lưu trữ trong bộ nhớ pool của chuỗi, một khu vực bộ nhớ được
chia sẻ bởi tất cả các chương trình Java.

new: Sử dụng từ khóa new để tạo một đối tượng chuỗi mới. Các
đối tượng chuỗi được tạo bằng từ khóa new được lưu trữ trong
bộ nhớ heap, một khu vực bộ nhớ được quản lý bởi Garbage
Collector.
Ex:
String ten_bien = “Dai Hoc Duy Tan”;//literal
String ten_bien = new String(“Dai Hoc Duy Tan”);//new keyword

Lớp StringBuilder
StringBuilder sb = new StringBuilder(); //khai báo
StringBuilder sb = new StringBuilder("Dai Hoc Duy Tan"); //Khởi tạo
System.out.println(sb);

 append(): Thêm string vào cuối chuỗi gốc

sb.append("\nDai Hoc Duy Tan");


System.out.println(sb);

 insert(index, string): Chèn string từ vị trí index

sb.insert(2, "hihi");
System.out.println(sb);

 delete(start, end): Xóa tất cả các ký tự từ start đến end – 1

sb.delete(0, 8);
System.out.println(sb);
 length(): trả về độ dài của chuỗi

int len = sb.length(); // len = 12

=================================================================

String

 length(): trả về độ dài của chuỗi

String str = "Hello World!";


int len = str.length(); // len = 12

 isEmpty(): kiểm tra xem chuỗi có rỗng không

String str1 = "";


String str2 = "Hello World!";
boolean empty1 = str1.isEmpty(); // empty1 = true
boolean empty2 = str2.isEmpty(); // empty2 = false

 isBlank(): kiểm tra xem chuỗi có chứa ký tự trắng không (Unicode


aware) (JDK 11)

String str1 = "";


String str2 = " ";
String str3 = "Hello World!";
boolean blank1 = str1.isBlank(); // blank1 = true
boolean blank2 = str2.isBlank(); // blank2 = true
boolean blank3 = str3.isBlank(); // blank3 = false

 equals(String another): so sánh hai chuỗi, không thể sử dụng ‘==’


hoặc ‘!=’ để so sánh hai chuỗi trong Java

String str1 = "Hello World!";


String str2 = "Hello world!";
boolean equal1 = str1.equals(str2); // equal1 = false

// So sánh không phân biệt chữ hoa chữ thường


boolean equal2 = str1.equalsIgnoreCase(str2); // equal2 = true

 compareTo(String another): so sánh hai chuỗi theo thứ tự từ điển,


trả về 0 nếu hai chuỗi giống nhau; <0 nếu chuỗi này nhỏ hơn chuỗi
kia; hoặc >0 nếu chuỗi này lớn hơn chuỗi kia.

String str1 = "Hello";


String str2 = "World";
int compare1 = str1.compareTo(str2); // compare1 < 0

// So sánh không phân biệt chữ hoa chữ thường


int compare2 = str1.compareToIgnoreCase(str2); // compare2 < 0

 startsWith(String another): kiểm tra xem chuỗi có bắt đầu bằng một
chuỗi khác không.

String str1 = "Hello World!";


boolean start1 = str1.startsWith("Hello"); // start1 = true

// Kiểm tra bắt đầu từ vị trí thứ 6 của chuỗi 'str'


boolean start2 = str1.startsWith("World", 6); // start2 = true

 endsWith(String another): kiểm tra xem chuỗi có kết thúc bằng một
chuỗi khác không.

String str1 = "Hello World!";


boolean end1 = str1.endsWith("!"); // end1 = true

 indexOf(String key): tìm kiếm vị trí đầu tiên của một chuỗi con
trong chuỗi.

String str1 = "Hello World!";


int index1 = str1.indexOf("o"); // index1 = 4

// Tìm kiếm từ vị trí thứ 5 của chuỗi 'str'


int index2 = str1.indexOf("o", 5); // index2 = 7

// Trả về -1 nếu không tìm thấy chuỗi con trong chuỗi.


int index3 = str1.indexOf("abc"); // index3 = -1

 lastIndexOf(String key): tìm kiếm vị trí cuối cùng của một chuỗi con
trong chuỗi.

String str1 = "Hello World!";


int index4= str.lastIndexOf("o"); // index4= 7

// Tìm kiếm từ vị trí thứ 5 của chuỗi 'str'


int index5= str.lastIndexOf("o", 5); // index5= 4

// Trả về -1 nếu không tìm thấy chuỗi con trong chu

 charAt(int idx): trả về ký tự ở vị trí chỉ mục được chỉ định trong
chuỗi.

String str1 = "Hello World!";


char char1 = str1.charAt(4); // char1 = 'o'
 substring(int fromIdx): trả về một chuỗi con bắt đầu từ chỉ mục được
chỉ định đến cuối chuỗi.

String str1 = "Hello World!";


String sub1 = str1.substring(6); // sub1 = "World!"

 substring(int fromIdx, int toIdx): trả về một chuỗi con bắt đầu từ
chỉ mục được chỉ định và kết thúc tại chỉ mục được chỉ định.

String str1 = "Hello World!";


String sub2 = str1.substring(0, 5); // sub2 = "Hello"

 toLowerCase(): chuyển đổi chuỗi thành chữ thường.

String str1 = "Hello World!";


String lowerCase1 = str1.toLowerCase(); // lowerCase1 = "hello
world!"

 toUpperCase(): chuyển đổi chuỗi thành chữ hoa.

String str1 = "Hello World!";


String upperCase1 = str1.toUpperCase(); // upperCase1 = "HELLO
WORLD!"

 concat(String another): nối hai chuỗi lại với nhau.

String str1 = "Hello";


String str2 = "World";
String concat1 = str1.concat(str2); // concat1 = "HelloWorld"

 trim(): loại bỏ khoảng trắng ở đầu và cuối chuỗi.

String str1 = " Hello World! ";


String trim1 = str1.trim(); // trim1 = "Hello World!"

 toCharArray(): tạo một mảng ký tự từ chuỗi.

String str1 = "Hello World!";


char[] charArray= str.toCharArray(); // charArray= ['H', 'e', 'l',
'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '!']

 valueOf(): chuyển đổi một giá trị của kiểu dữ liệu nguyên thủy hoặc
đối tượng thành chuỗi.

int num1 = 123;


String str1 = String.valueOf(num1); // str1 = "123"

 format(String format, Object... args): định dạng chuỗi theo định


dạng được chỉ định và các đối số được cung cấp.

String str1 = "Hello";


String str2 = "World";
String format1 = String.format("%s %s!", str1, str2); // format1 =
"Hello World!"

 join(CharSequence delimiter, CharSequence... elements): nối các phần


tử của một mảng thành một chuỗi với ký tự phân cách được chỉ định.

String[] arr1 = {"Hello", "World", "!"};


String join1 = String.join(" ", arr1); // join1 = "Hello World !"

 replace(char oldChar, char newChar): thay thế tất cả các ký tự cũ


bằng ký tự mới trong chuỗi.

String str1 = "Hello World!";


String replace1 = str1.replace('o', '0'); // replace1 = "Hell0
W0rld!"

 replaceAll(String regex, String replacement): thay thế tất cả các


chuỗi con khớp với biểu thức chính quy bằng chuỗi mới.

String str1 = "Hello World!";


String replaceAll1 = str1.replaceAll("o", "0"); // replaceAll1 =
"Hell0 W0rld!"

 replaceFirst(String regex, String replacement): thay thế chuỗi con


đầu tiên khớp với biểu thức chính quy bằng chuỗi mới.

String str1 = "Hello World!";


String replaceFirst1= str1.replaceFirst("o", "0"); // replaceFirst1=
"Hell0 World!"

 matches(String regex): kiểm tra xem chuỗi có khớp với biểu thức
chính quy không.

String str1 = "Hello World!";


boolean match1= str.matches(".*World.*"); // match1= true

 split(String regex): tách chuỗi thành một mảng các chuỗi con bằng
cách sử dụng biểu thức chính quy làm điểm phân tách.

String str1 = "Hello World!";


String[] splitArr= str.split(" "); // splitArr= ["Hello", "World!"]

 split(String regex, int limit): tương tự như phương thức trên nhưng
giới hạn số lượng phần tử trong mảng kết quả.

String str1 = "Hello World!";


String[] splitArr= str.split(" ", 2); // splitArr= ["Hello",
"World!"]

You might also like