Если это действительно массив, вы хотите:
if (list[0] == list[2] && list[1] == list[3])
Обратите внимание, что если массив ссылочных типов, который по сравнению ссылочной идентичности, а не равенства. Вы, возможно, захотите:
if (list[0].equals(list[2])) && list[1].equals(list[3]))
Хотя это произойдет, если какое-либо из значений будет null. Вы можете вспомогательный метод, чтобы справиться с этим:
public static objectsEqual(Object o1, Object o2)
{
if (o1 == o2)
{
return true;
}
if (o1 == null || o2 == null)
{
return false;
}
return o1.equals(o2);
}
Тогда:
if (objectsEqual(list[0], list[2]) && objectsEqual(list[1], list[3]))
Если вы действительно получили ArrayList
вместо массива, то все вышеперечисленное еще держится, только с помощью list.get(x)
вместо list[x]
в каждом месте.
«оно не похоже на работу» не является очень хорошим сообщением о проблеме :-) Вы должны дать больше информации - что она делает? Он даже компилируется? Разве это просто не печатает «равный»? Etc и т. Д. – paxdiablo
Имейте в виду, что == отличается от equals (Object) –