Для того, чтобы ArrayList знал, какие объекты в нем хранятся, нужно указать их класс явно:
ArrayList<String> list = new ArrayList<>();
Тогда list.get(i) будет возвращать String и желаемый код заработает.
Запись же
ArrayList list = new ArrayList()
эквивалентна записи
ArrayList<Object> list = new ArrayList<>()
В таком случае, list.get(i) возвращает не String, а Object, у которого метода length() просто не существует