Общий тип потерян для члена необработанного типа

Я обнаружил странное поведение при работе с дженериками.

В этом классеFoo<T>,strings член не имеет ничего общего сT:

package test;
import java.util.ArrayList;

public class Foo<T> {
    ArrayList<String> strings;

    T getSome() {
        return null;
    }
}

Класс используется в основном:

package test;

public class Main {

    public static void main() {
        Foo<Integer> intFoo = new Foo<>();
        Integer i = intFoo.getSome();
        String s1 = intFoo.strings.get(0);

        Foo rawFoo = new Foo();
        Object o = rawFoo.getSome();
        String s2 = rawFoo.strings.get(0); // Compilation error on this line
    }
}

Ошибка компиляции: «несовместимые типы. Требуется: Строка найдена: Объект».

Похоже, что Java забываетString введите аргумент дляArrayList когда сырой типFoo используется.

Моя версия Java 1.7.0_21

Ответы на вопрос(1)

Ваш ответ на вопрос