Всем привет! поиск максимальной последовательности реализовал так:
for (int i = 1; i < 10; i++) {
    if (list.get(i-1) == list.get(i)) maxLenght ++;
    else {
        if (maxLenght > trueMaxLenght) {
            trueMaxLenght = maxLenght;
        }
        maxLenght = 1;
    }

}
if (maxLenght > trueMaxLenght) {
    trueMaxLenght = maxLenght;
}
Прогнал последовательностью из условия - всё верно. Но компилятор намекнул, что не будет работать для чисел больше 127. Проверил, и действительно, для больших чисел не работает. Поменял условие в конструкции IF:
for (int i = 1; i < 10; i++) {
    if (list.get(i-1).equals(list.get(i))) maxLenght ++;
    else {
        if (maxLenght > trueMaxLenght) {
            trueMaxLenght = maxLenght;
        }
        maxLenght = 1;
    }

}
if (maxLenght > trueMaxLenght) {
    trueMaxLenght = maxLenght;
}
Заработало. Но так и не смог понять, почему
(list.get(i-1) == list.get(i))
даёт true для пары чисел меньше 127, и false для чисел больше? Где-то происходит усечение до byte?