A - jest możliwe patrz np na implementacje repozytoriów JpaRepository<T,ID> jest typem parametryzowanym
public interface LocationRepository extends JpaRepository<Location, Long> {
}
B - można tak zrobić, jednak nie do końca jest to poprawne - > w myśl zadania ta odp. jest prawidłowa gdyż ArrayList jest implementacja intefejsu List ... więc jest to możliwe ( jednak typ generyczny List - powinien mieć parametryzacje )
List list = new ArrayList<String>();
wiec w myśl, to jest niby poprawne, ale kompilator powinien zwrócić uwagę, że mamy doczynineia z "Raw type" czyli Listą która nie jest określona
C- jest to możliwe ( chociaż nie do końca jest dla mnie jasne sformułowanie )
D- to prawda nie możesz utworzyć ArrayList generycznego dla typu prostego czyli ArrayList<double> byc nie moze, ale ArrayList<Double> może, gdyż Double to klasa