发现这个网站可能是为了测试想要的开发人员......
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 中的字符串/整数池中,所以我可以理解为什么最后一个对象是正确的。但是为什么第一个不是真的?