All language subtitles for 005 The equals() method_en

af Afrikaans
ak Akan
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bem Bemba
bn Bengali
bh Bihari
bs Bosnian
br Breton
bg Bulgarian
km Cambodian
ca Catalan
ceb Cebuano
chr Cherokee
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
ee Ewe
fo Faroese
tl Filipino
fi Finnish
fr French
fy Frisian
gaa Ga
gl Galician
ka Georgian
de German
el Greek
gn Guarani
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian Download
is Icelandic
ig Igbo
id Indonesian
ia Interlingua
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
rw Kinyarwanda
rn Kirundi
kg Kongo
ko Korean
kri Krio (Sierra Leone)
ku Kurdish
ckb Kurdish (Soranî)
ky Kyrgyz
lo Laothian
la Latin
lv Latvian
ln Lingala
lt Lithuanian
loz Lozi
lg Luganda
ach Luo
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mfe Mauritian Creole
mo Moldavian
mn Mongolian
my Myanmar (Burmese)
sr-ME Montenegrin
ne Nepali
pcm Nigerian Pidgin
nso Northern Sotho
no Norwegian
nn Norwegian (Nynorsk)
oc Occitan
or Oriya
om Oromo
ps Pashto
fa Persian
pl Polish
pt-BR Portuguese (Brazil)
pt Portuguese (Portugal)
pa Punjabi
qu Quechua
ro Romanian
rm Romansh
nyn Runyakitara
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
sh Serbo-Croatian
st Sesotho
tn Setswana
crs Seychellois Creole
sn Shona
sd Sindhi
si Sinhalese
sk Slovak
sl Slovenian
so Somali
es Spanish
es-419 Spanish (Latin American)
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
tt Tatar
te Telugu
th Thai
ti Tigrinya
to Tonga
lua Tshiluba
tum Tumbuka
tr Turkish
tk Turkmen
tw Twi
ug Uighur
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
wo Wolof
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:00,300 --> 00:00:03,180 We can use the equals method to check if two objects are equal. 2 00:00:05,010 --> 00:00:07,710 In this lesson, you're going to add an equals method to a class. 3 00:00:10,090 --> 00:00:15,010 You can access this lesson by following this path and the resources and open the equals folder. 4 00:00:22,410 --> 00:00:26,400 The default equals method compares the references of two objects. 5 00:00:29,270 --> 00:00:31,250 Create one object of the car class. 6 00:00:35,710 --> 00:00:37,060 Toyota blew. 7 00:00:41,490 --> 00:00:44,460 And then set a variable, same car equal to the car. 8 00:00:49,600 --> 00:00:53,740 Now, both car and same car share a reference to the same object. 9 00:00:54,920 --> 00:00:58,010 Check if CA equals same car. 10 00:01:08,140 --> 00:01:11,980 And it returns true because both variables store the same reference. 11 00:01:19,720 --> 00:01:26,140 When you set same car equal to car, it copies the reference, and since both share the same reference, 12 00:01:26,320 --> 00:01:29,320 then the equals method determines that they are indeed equal. 13 00:01:34,080 --> 00:01:38,530 But that's the thing, too, variables should not share a reference to the same object. 14 00:01:38,580 --> 00:01:41,310 Otherwise, you're going to risk falling into the reference trap. 15 00:01:44,220 --> 00:01:48,210 So we're going to see that same car equal to a new copy of the first car object. 16 00:01:56,260 --> 00:02:02,650 The two objects are exact copies of each other, but because they don't share the same reference than 17 00:02:02,650 --> 00:02:05,170 the equals method determines that they're not equal. 18 00:02:07,430 --> 00:02:10,910 We can customize the equals method for a specific class. 19 00:02:12,040 --> 00:02:18,430 We can customize it to compare the fields of two objects, we're going to customize the equals method 20 00:02:18,430 --> 00:02:20,200 for objects of the car class. 21 00:02:38,410 --> 00:02:44,320 And as you can see, the equals method returns a boolean and it receives an object, what's the type 22 00:02:44,320 --> 00:02:45,070 of that object? 23 00:02:45,280 --> 00:02:46,230 We don't know. 24 00:02:46,270 --> 00:02:47,560 It can be any object. 25 00:02:55,940 --> 00:02:59,870 OK, car calls the equals method and pass the same cars in argument. 26 00:03:03,100 --> 00:03:06,340 This points to the current object calling the equals method. 27 00:03:07,710 --> 00:03:10,350 OBJ points to the object that was passed in. 28 00:03:12,940 --> 00:03:15,760 And nothing happens inside the function, it just returns true. 29 00:03:19,510 --> 00:03:20,730 That's not very useful. 30 00:03:23,210 --> 00:03:25,520 Here is how to make the perfect equals method. 31 00:03:27,350 --> 00:03:30,890 First, you're going to return false if the object that was passed then is null. 32 00:03:31,940 --> 00:03:36,890 Then you're going to return false if the object is not an instance of the specified type. 33 00:03:37,760 --> 00:03:42,160 If it happens to be an instance of the specified type, then you're going to typecast it. 34 00:03:43,010 --> 00:03:47,290 Then you're going to compare every field from both objects and return the results. 35 00:03:52,180 --> 00:03:56,140 In the equals method check if the object was passed in, is No. 36 00:04:01,910 --> 00:04:07,520 And if that's the case, return false, there's no way the object that's calling the equals method is 37 00:04:07,520 --> 00:04:10,820 going to equal null, otherwise it would have thrown a null pointer exception. 38 00:04:12,400 --> 00:04:18,279 All right, now return false if the object that was passed in is not an instance of car and we can do 39 00:04:18,279 --> 00:04:23,770 that using the instance of keyword, so we'll check if the object is an instance of car and reverse 40 00:04:23,770 --> 00:04:28,060 it to say if the object is not of type car, then we'll return false. 41 00:04:36,960 --> 00:04:42,240 Although if the object was passed in is an instance of car, then we are going to make it to this line 42 00:04:42,450 --> 00:04:45,450 so we can typecast object to a car type. 43 00:04:52,010 --> 00:04:53,990 And now we can access Hadfield's. 44 00:04:55,940 --> 00:05:01,040 So what I'm going to do is compare every field from the current object calling the equals method, this 45 00:05:01,250 --> 00:05:03,920 with every field from the car object that was passed in. 46 00:05:34,510 --> 00:05:38,710 OK, time to test it inside, men, I'm going to pass a nail into the equals method. 47 00:05:48,650 --> 00:05:54,500 This points to the current object and the argument we passed in is no to the equals method is going 48 00:05:54,500 --> 00:06:00,380 to return false because there's no way a null is going to equal the object that's calling this method. 49 00:06:05,730 --> 00:06:07,920 All right, now I'm going to create a scanner object. 50 00:06:16,640 --> 00:06:18,560 And pass it into the equals method. 51 00:06:31,740 --> 00:06:36,240 This points to the car object calling the method the object we passed in with scanner. 52 00:06:37,660 --> 00:06:40,510 The object is not no to passes this test. 53 00:06:42,500 --> 00:06:48,320 But the object is not an instance of car, so there's no way it's going to equal the car object that's 54 00:06:48,320 --> 00:06:53,960 calling this method equals returns false and determines that these objects are not equal. 55 00:07:03,010 --> 00:07:04,020 We'll try that out. 56 00:07:15,880 --> 00:07:18,580 The object is not know, so it passes this test. 57 00:07:22,520 --> 00:07:25,730 The object is of type car, so it passes that test. 58 00:07:31,550 --> 00:07:36,950 The fields from both objects are equal to each other, so this condition returns true and the equals 59 00:07:36,950 --> 00:07:38,810 method tells us that they are equal. 60 00:07:46,790 --> 00:07:51,260 OK, now we're going to compare two car objects that don't equal each other, so I'll change this to 61 00:07:51,260 --> 00:07:51,800 Honda. 62 00:08:05,430 --> 00:08:07,830 All right, this object is not known. 63 00:08:07,890 --> 00:08:09,300 So it passes this test. 64 00:08:11,190 --> 00:08:14,280 The object is of type car, so it passes this test. 65 00:08:17,040 --> 00:08:18,960 But the fields are equal to each other. 66 00:08:22,090 --> 00:08:27,600 So this condition returns false and the equals method determines that these objects are not equal, 67 00:08:28,330 --> 00:08:28,990 and you know what? 68 00:08:28,990 --> 00:08:30,790 If you ask me, it works perfectly. 69 00:08:33,520 --> 00:08:37,030 To recap, you customize the equals method for the car class. 70 00:08:39,669 --> 00:08:44,500 The default equals method compares the references of two objects, which isn't very useful. 71 00:08:46,200 --> 00:08:50,970 We customize the equals method to compare the fields from two car objects. 7220

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.