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

if

(card1 == card2) {

System.out.println(

"card1 và card2 giống hệt nhau."

);

}

Các tham chi u đ n cùng đ i t

ng thì

ế

ế

ố ượ

gi ng h t

nhau. Còn các tham chi u đ n các đ i t ng v i d

ế

ế

ố ượ

ớ ữ

li u nh nhau thì s

ư

t ng đ ng

ươ

v i nhau.

Đ ki m tra s t

ng đ ng, ng

i ta th

ng vi t m t ph

ng th c có tên g i ki u nh

ể ể

ự ươ

ườ

ườ

ế

ươ

ư sameCard.

public static boolean

sameCard(Card c1, Card c2) {

return

(c1.suit == c2.suit && c1.rank == c2.rank);

}

Sau đây là m t ví d đ t o nên hai đ i t

ng có d li u gi ng nhau, r i dùng

ụ ể ạ

ố ượ

ữ ệ

sameCard đ ki m tra

ể ể

xem li u chúng có t

ng đ ng không:

ươ

Card card1 =

new

Card(1, 11);

Card card2 =

new

Card(1, 11);

if

(sameCard(card1, card2)) {

System.out.println(

"card1 and card2 tuong dong nhau."

);

}

N u các tham chi u gi ng nhau thì chúng t

ng đ ng. Song n u chúng t

ng đ ng thì ch a ch c chúng

ế

ế

ươ

ế

ươ

ư

đã gi ng h t nhau.

đây,

card1 và card2 t

ng đ ng nh ng không gi ng h t, cho nên s đ tr ng thái s nh sau:

ươ

ư

ơ ồ ạ

ư

S đ này s trông th nào n u

ơ ồ

ế

ế card1 và card2 gi ng h t nhau?

M c

Ở ụ 8.10, tôi đã nói r ng b n không nên dùng toán t

ử == đ i v i

ố ớ String vì nó s không ho t đ ng

ạ ộ

theo ý mình. Thay vì vi c so sánh n i dung c a các

String (so sánh t

ng đ ng), nó l i đi ki m tra xem

ươ

hai String này có ph i cùng đ i t

ng (gi ng h t) không.

ố ượ

13.5 Ph

ng th c

ươ

ứ compareCard

V i nh ng ki u nguyên th y, các toán t đi u ki n so sánh hai giá tr r i quy t đ nh xem cái nào l n hay

ử ề

ị ồ

ế ị

nh h n các kia. Nh ng toán t nh v y (

ỏ ơ

ư ậ < và > cùng nh ng cái khác) không ho t đ ng đ c v i ki u

ạ ộ

ượ ớ

đ i t

ng. V i các chu i, Java cung c p m t ph

ng th c

ố ượ

ươ

ứ compareTo. Còn v i

ớ Cards thì ta ph i t vi t

ả ự ế

ph

ng th c riêng, mà ta s g i là

ươ

ẽ ọ

compareCard. Sau này, ta s dùng ph

ng th c này đ s p x p m t

ươ

ể ắ

ế

c bài.

Có nh ng t p h p đ

c x p th t hoàn toàn, theo nghĩa là b n có th so sánh hai ph n t b t kì trong

ượ ế

ứ ự

ầ ử ấ

đó đ bi t đ

c ph n t nào l n h n. L i có nh ng t p h p không s p x p đ

c, theo nghĩa là ch ng có

ể ế ượ

ầ ử

ơ

ế

ượ

nghĩa lý gì đ nói r ng ph n t này l n h n ph n t kia. Các s nguyên và s ph y đ ng là lo i th t

ầ ử

ơ

ầ ử

ứ ự

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.