Wpis z mikrobloga

via Wykop Mobilny (Android)
  • 1
@horus666: no fajnie że mi wklejasz link do docsów wildcardów xd wiem że jak jest extends to masz tylko get a jak super to tylko put ale chciałem wiedzieć czego używać kiedy potrzebuje obu (bo jedne źródła podają żeby wtedy nie używać wildcardów a inne żeby samego ?), Twój link nie odpowiada na pytanie czym sie rózni w zachowaniu List od List
@MrFisherman: Przykladowy kod:


static class Test {

void fun(T obj) {
List list = new ArrayList<>();
list.add(obj);

T value = list.get(0);

List list2 = new ArrayList<>();

// list2.add(obj); blad kompilacji
T value2 = (T) list2.get(0); // warn, unchecked cast

List list3 = new ArrayList();
list3.add(obj); // ok, ale warning raw types
list3.add("asdf"); // ok, ale warning raw types
T value3 = (T) list3.get(0);
T value4 = (T) list3.get(1); // skompiluje sie