Khi b n kích ho t
ạ
ạ toUpperCase đ i v i m t
ố ớ
ộ String, b n s thu đ c m t
ạ ẽ
ượ
ộ String m i
ớ làm k t qu tr l i.
ế
ả ả ạ
Ch ng h n:
ẳ
ạ
String name =
"Alan Turing"
;
String upperName = name.toUpperCase();
Sau khi dòng l nh th hai đ
c th c thi,
ệ
ứ
ượ
ự
upperName s ch a giá tr
ẽ ứ
ị "ALAN TURING", còn name v n
ẫ
ch a
ứ "Alan Turing".
8.10 String có tính không so sánh đ
c
ượ
Ta th
ng c n so sánh hai chu i đ xem chúng có gi ng nhau không, hay chu i nào s x p tr
c theo
ườ
ầ
ỗ ể
ố
ỗ
ẽ ế
ướ
th t b ng ch cái. Th t tuy t n u ta s d ng đ
c các toán t so sánh nh
ứ ự ả
ữ
ậ
ệ ế
ử ụ
ượ
ử
ư == và >, song ta không th
ể
làm v y.
ậ
Đ so sánh các
ể
String, ta ph i dùng các ph
ng th c
ả
ươ
ứ equals và compareTo. Ch ng h n:
ẳ
ạ
String name1 =
"Alan Turing"
;
String name2 =
"Ada Lovelace"
;
if
(name1.equals (name2)) {
System.out.println(
"hai tên này là một."
);
}
int
flag = name1.compareTo (name2);
if
(flag == 0) {
System.out.println(
"Hai tên gọi này là một."
);
}
else if
(flag < 0) {
System.out.println(
"tên 1 xếp trước tên 2."
);
}
else if
(flag > 0) {
System.out.println(
"tên 2 xếp trước tên 1."
);
}
Cú pháp đây h i kì qu c. Đ so sánh hai
ở
ơ
ặ
ể
String, b n ph i kích ho t m t ph
ng th c lên m t chu i
ạ
ả
ạ
ộ
ươ
ứ
ộ
ỗ
r i truy n chu i còn l i làm tham s .
ồ
ề
ỗ
ạ
ố
Giá tr tr v t
ị ả ề ừ equals th t d hi u;
ậ ễ ể true n u hai chu i có ch a cùng các kí t , và
ế
ỗ
ứ
ự
false trong tr
ng h p
ườ
ợ
còn l i.
ạ
Giá tr tr v t
ị ả ề ừ compareTo l i kì qu c. Đó là kho ng cách gi a hai ch cái đ u tiên có s khác bi t hai
ạ
ặ
ả
ữ
ữ
ầ
ự
ệ ở
chu i. N u hai chu i b ng nhau thì kho ng cách này b ng 0. N u chu i th nh t (chu i mà ta kích ho t
ỗ
ế
ỗ ằ
ả
ằ
ế
ỗ
ứ
ấ
ỗ
ạ
ph
ng th c lên) đ ng tr
c theo th t b ng ch cái, thì kho ng cách này có giá tr âm. Ng
c l i,
ươ
ứ
ứ
ướ
ứ ự ả
ữ
ả
ị
ượ ạ
kho ng cách có giá tr d
ng. Trong tr
ng h p này, giá tr tr l i b ng 8, vì ch cái th hai c a “Ada” đi
ả
ị ươ
ườ
ợ
ị ả ạ ằ
ữ
ứ
ủ
tr
c ch cái th hai c a “Alan” là 8 v trí.
ướ
ữ
ứ
ủ
ị
Đ tr n v n, tôi cũng nói th t r ng vi c dùng toán t
ể ọ
ẹ
ậ ằ
ệ
ử == đ i v i các
ố ớ
Strings là h p l
ợ ệ nh ng ít khi
ư
đúng
đ n
ắ . Tôi s gi i thích lí do trong M c
ẽ ả
ụ 13.4; song bây gi thì ch a.
ờ
ư
8.11 Thu t ng
ậ
ữ
đ i t
ng:
ố ượ
M t t p h p các d li u có liên quan cùng v i m t t p các ph ng th c ho t đ ng v i nó. Các đ i
ộ ậ
ợ
ữ ệ
ớ
ộ ậ
ươ
ứ
ạ ộ
ớ
ố
t ng mà ta dùng cho đ n gi g m có
ượ
ế
ờ ồ
String, Bug, Rock, và nh ng đ i t
ng khác trong
ữ
ố ượ
GridWorld.