Độ dài String trong Java Các phương thức được sử dụng để thu nhận thông tin về một đối tượng được biết đến như là các phương thức accessor tương tự như hàm getter- trả về thông tin cần t
Trang 1String trong Java
Các String, được sử dụng rộng rãi trong chương trình Java, là một dãy liên tục của các ký tự Trong ngôn ngữ Java, String là đối tượng
Để hiểu sâu hơn các khái niệm được trình bày trong chương này, mời bạn tham khảo loạt bài: Ví
dụ về String trong Java
Nền tảng Java cung cấp lớp String để tạo và thao tác với các chuỗi
Tạo các String trong Java
Cách trực tiếp nhất để tạo một chuỗi là:
String greeting = "Hello world!" ;
Bất cứ khi nào nó gặp một string literal trong code, bộ biên dịch tạo một đối tượng String với giá trị của nó, trong trường hợp này là “Hello world!”
Như với bất kỳ đối tượng nào khác, bạn có thể tạo các đối tượng String bởi sử dụng từ khóa new
và một constructor Lớp String có 11 constructor cho phép bạn cung cấp giá trị khởi tạo của chuỗi bởi sử dụng các nguồn khác nhau, như một mảng các ký tự
public class StringDemo {
public static void main ( String args []){
char [] helloArray = { 'h' , 'e' , 'l' , 'l' , 'o' , '.' };
String helloString = new String ( helloArray );
System out println ( helloString );
}
}
Nó sẽ cho kết quả:
hello
Ghi chú: Lớp String là không thể thay đổi, để mà khi được tạo, một đối tượng String không thể thay đổi Nếu bạn bắt buộc phải tạo nhiều sửa đổi đến chuỗi các ký tự, thì bạn nên sử dụng các lớp: Lớp String Buffer & String Builder trong Java
Trang 2Độ dài String trong Java
Các phương thức được sử dụng để thu nhận thông tin về một đối tượng được biết đến như là các phương thức accessor (tương tự như hàm getter- trả về thông tin cần thiết) Một phương thức
accessor bạn sử dụng với chuỗi là phương thức length(), sẽ trả về số lượng ký tự chứa trong đối
tượng String
Sau khi đoạn code sau được thực thi, nó trả về độ dài là 17
public class StringDemo
public static void main ( String args [])
String palindrome = "Dot saw I was Tod" ;
int len = palindrome length ();
System out println ( "String Length is : " len );
}
}
Nó cho kết quả sau:
String Length is 17
Nối chuỗi trong Java
Lớp String trong Java có một phương thức để so khớp hai chuỗi:
string1 concat ( string2 );
Nó trả về một chuỗi mới mà gồm string2 được thêm vào cuối string 1 Bạn cũng có thể sử dụng
phương thức concat() với string literal, như trong:
"My name is " concat ( "Zara" );
Các chuỗi cũng thường được sử dụng với toán tử + như sau:
"Hello," " world" "!"
Và kết quả là:
Trang 3Chúng ta theo dõi ví dụ sau:
public class StringDemo
public static void main ( String args [])
String string1 = "saw I was " ;
System out println ( "Dot " string1 + "Tod" );
}
}
Nó sẽ cho kết quả:
Dot saw I was Tod
Tạo các String được định dạng trong Java
Bạn có các phương thức printf() và format() để in output với các số được định dạng Lớp String
có một phương thức lớp tương đương, là format(), mà trả về một đối tượng String chứ không là một đối tượng PrintStream
Sử dụng phương thức static format() của đối tượng String cho phép bạn tạo một chuỗi đã được
định dạng để bạn có thể tái sử dụng, trái ngược với lệnh in một lần Ví dụ, thay vì:
System out printf ( "The value of the float variable is "
"%f, while the value of the integer "
"variable is %d, and the string "
"is %s" , floatVar , intVar , stringVar );
Bạn có thể viết:
String fs ;
fs = String format ( "The value of the float variable is "
"%f, while the value of the integer "
"variable is %d, and the string "
"is %s" , floatVar , intVar , stringVar );
System out println ( fs );
Trang 4Các phương thức của lớp String trong Java
Bảng dưới liệt kê các phương thức được hỗ trợ bởi lớp String trong Java:
STT Phương thức và miêu tả
1
char charAt(int index) trong Java
Trả về ký tự tại chỉ mục đã cho
2
int compareTo(Object o) trong Java
So sánh String này với đối tượng Object khác
3
int compareTo(String anotherString) trong Java
So sánh hai chuỗi theo từ điển
4
int compareToIgnoreCase(String str) trong Java
So sánh hai chuỗi theo từ điển, bỏ qua các sự khác nhau về kiểu chữ
5
String concat(String str) trong Java
Nối chuỗi đã cho vào phần cuối của chuỗi này
6
boolean contentEquals(StringBuffer sb) trong Java
Trả về true nếu và chỉ nếu String này biểu diễn dãy liên tục các ký tự giống như StringBuffer đã cho
7 static String copyValueOf(char[] data) trong Java
Trả về một String mà biểu diễn dãy ký tự trong mảng đã cho
Trang 58
static String copyValueOf(char[] data, int offset, int count) trong Java
Trả về một String mà biểu diễn dãy ký tự trong mảng đã cho
9 boolean endsWith(String suffix) trong Java
Kiểm tra nếu chuỗi này kết thúc với hậu tố đã cho
10 boolean equals(Object anObject) trong Java
So sánh chuỗi này với Object đã cho
11
boolean equalsIgnoreCase(String anotherString) trong Java
So sánh String với String khác, bỏ qua sự khác nhau về kiểu chữ
12
byte getBytes() trong Java
Mã hóa String này thành dãy các byte liên tục bởi sử dụng bộ ký tự (charset) mặc định của platform, lưu giữ kết quả vào trong một mảng byte mới
13
byte[] getBytes(String charsetName) trong Java
Mã hóa String này thành dãy các byte liên tục bởi sử dụng bộ ký tự (charset) đã gắn tên, lưu giữ kết quả vào trong một mảng byte mới
14
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) trong Java
Sao chép các ký tự từ chuỗi này vào trong mảng ký tự đích
15
int hashCode() trong Java
Trả về một mã hóa băm (hash code) cho chuỗi này
Trang 616
int indexOf(int ch) trong Java
Trả về chỉ mục trong chuỗi này với sự xuất hiện đầu tiên của ký tự đã cho
17 int indexOf(int ch, int fromIndex) trong Java
Trả về chỉ mục trong chuỗi này với sự xuất hiện đầu tiên của ký tự đã cho, bắt đầu tìm kiếm tại chỉ mục đã cho
18
int indexOf(String str) trong Java
Trả về chỉ mục trong chuỗi này với sự xuất hiện đầu tiên của chuỗi phụ đã cho
19
int indexOf(String str, int fromIndex) trong Java
Trả về chỉ mục trong chuỗi này với sự xuất hiện đầu tiên của chuỗi phụ đã cho, bắt đầu tìm kiếm tại chỉ mục đã cho
20
String intern() trong Java
Trả về một sự biểu diễn đúng tiêu chuẩn (canonical) cho đối tượng String này
21
int lastIndexOf(int ch) trong Java
Trả về chỉ mục trong chuỗi này với sự xuất hiện cuối cùng của ký tự đã cho
22
int lastIndexOf(int ch, int fromIndex) trong Java
Trả về chỉ mục trong chuỗi này với sự xuất hiện cuối cùng của ký tự đã cho, bắt đầu tìm kiếm ngược về trước tại chỉ mục đã cho
23
int lastIndexOf(String str) trong Java
Trả về chỉ mục trong chuỗi này với sự xuất hiện cuối cùng của chuỗi phụ đã cho
Trang 724
int lastIndexOf(String str, int fromIndex) trong Java
Trả về chỉ mục trong chuỗi này với sự xuất hiện cuối cùng của chuỗi phụ đã cho, bắt đầu tìm kiếm ngược về trước tại chỉ mục đã cho
25 int length() trong Java
Trả về độ dài của chuỗi này
26
boolean matches(String regex) trong Java
Có hay không chuỗi này so khớp (match) với regular expression đã cho
27
boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) trong Java
Kiểm tra nếu hai chuỗi là bằng nhau
28
boolean regionMatches(int toffset, String other, int ooffset, int len) trong Java
Kiểm tra nếu hai chuỗi là bằng nhau
29
String replace(char oldChar, char newChar) trong Java
Trả về một chuỗi mới kết quả từ việc thay thế tất cả oldchar trong chuỗi này bằng newchar
30
String replaceAll(String regex, String replacement) trong Java
Thay thế mỗi chuỗi phụ trong chuỗi này mà so khớp với regular expression với chuỗi thay thế đã cho
31
String replaceFirst(String regex, String replacement) trong Java
Thay thế chuỗi phụ đầu tiên của chuỗi này mà so khớp với regular expression đã cho
Trang 8với chuỗi thay thế đã cho
32 String[] split(String regex) trong Java
Chia chuỗi này xung quanh các so khớp của Regex đã cho
33 String[] split(String regex, int limit) trong Java
Chia chuỗi này xung quanh các so khớp của Regex đã cho
34
boolean startsWith(String prefix) trong Java
Kiểm tra nếu chuỗi bắt đầu với tiền tố đã cho
35
boolean startsWith(String prefix, int toffset) trong Java
Kiểm tra nếu chuỗi bắt đầu với tiền tố đã cho bắt đầu từ chỉ mục đã cho
36
CharSequence subSequence(int beginIndex, int endIndex) trong Java
Trả về một dãy ký tự mới mà là một dãy phụ của dãy này
37
String substring(int beginIndex) trong Java
Trả về một chuỗi mới mà là một chuỗi phụ của chuỗi này
38
String substring(int beginIndex, int endIndex) trong Java
Trả về một chuỗi mới mà là một chuỗi phụ của chuỗi này
39
char[] toCharArray() trong Java
Biến đổi chuỗi này thành một mảng ký tự mới
Trang 940
String toLowerCase() trong Java
Biến đổi tất cả ký tự trong String này thành kiểu chữ thường bởi sử dụng các qui tắc của locale mặc định
41 String toLowerCase(Locale locale) trong Java
Biến đổi tất cả ký tự trong String này thành kiểu chữ thường bởi sử dụng các qui tắc của locale đã cho
42
String toString() trong Java
Đối tượng này (mà đã là một chuỗi) được trả về chính nó
43
String toUpperCase() trong Java
Biến đổi tất cả ký tự trong String này thành kiểu chữ hoa bởi sử dụng các qui tắc của locale mặc định
44
String toUpperCase(Locale locale) trong Java
Biến đổi tất cả ký tự trong String này thành kiểu chữ hoa bởi sử dụng các qui tắc của locale đã cho
45
String trim() trong Java
Trả về một bản sao của chuỗi, với các khoảng trắng ban đầu và kết thúc bị bỏ qua
46
static String valueOf(primitive data type x) trong Java
Trả về biểu diễn chuỗi của tham số kiểu dữ liệu đã truyền