Метод contains () выполняет поиск по ссылке, корректно (я полагаю, даже для примитивов), поэтому, если вы пытаетесь найти строку или целое число в ArrayCollection, вам придется выполнить поиск самостоятельно, с помощью некоторых вариация зацикливания или поиска. Я не думаю, что кто-либо из нас может сказать вам, почему, скажем, в этом методе нет необязательного параметра, указывающего, выполнять ли поиск по ref или val; так и идет, как говорится.
Но я бы определенно предупредил вас об исправлении кода в фреймворке - это просто напрашивается на неприятности. :)