THINK JAVA: CÁCH SUY NGHĨ NHƯ NHÀ KHOA HỌC MÁY TÍNH - Trang 76

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.