おそらく開発者志望者をテストするためにこのウェブサイトを見つけました...
http://www.devchallenge.co.uk/challenge-2
問題はこれです...
与えられたコードに基づいて、次のテストのどれが「真」の答えを返し、合格し、どれが「偽」の答えを返し、失敗しますか?
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の文字列/整数プールにインターンされていることを知っているので、最後のオブジェクトが真である理由を理解できます。しかし、なぜ最初のものが真実ではないのですか?