發現這個網站大概測試崇拜者開發商...發生了什麼事情,並在此聲明平等嗎?
http://www.devchallenge.co.uk/challenge-2
問題是這樣的......
根據給定的代碼,它下面的測試將返回 'true'回答並通過,哪個會返回'false'的答案,並且會失敗?
ArrayList array1 = new ArrayList();
ArrayList array2 = new ArrayList();
array1.add(1);
array1.add(2);
array1.add("Aviva");
array2.add(1);
array2.add(2.0);
array2.add("Aviva");
Asserts
Equality
(array1[0],array2[0]);
Asserts
Equality
(array1[1],array2[1]);
Asserts
Equality
(array1[2],array2[2]);
顯然,答案是 '失敗', '失敗', '合格'。
我不是Java開發人員 - 我假設這個挑戰在Java中(雖然沒有說明)。
平等做什麼?是否檢查相同的對象或相同的值?我知道一些對象被插入Java中的String/Integer池中,所以我可以理解爲什麼最後一個是真的。但爲什麼第一個不是真的?
這些斷言是僞代碼,所以沒有明確的答案。但我確定「平等」意味着「調用equals的結果」。 –
@Marko是的,這就是我的想法 - 因此,你期望看到'平等(array1 [0],array2 [0])'產生真實?由於它們的值是相等的...... –
是的。我去了那個網站,看起來像一些廢話。如果他們沒有給出具體的,可編譯的代碼,他們可以聲稱任何答案都是正確的。 –