Bookmark Topic Watch Topic
  • New Topic

Generics

 
Katrin Perry
Ranch Hand
Posts: 61
  • Mark post as helpful
  • send pies
  • Report post to moderator
Hi,

I came across a question in the Whizzlab test, whose answer I have found confusing.

According to it this code would compile but with warnings:

public static void main(String[] args) {

List<? extends Object> ll = new LinkedList<? extends Object>();
ll.add("String");
ll.add(4);
ll.add(true);
ll.toString();

}


but this one would compile without warnings:

public static void main(String[] args) {

List<Object> ll = new LinkedList<Object>();
ll.add("String");
ll.add(4);
ll.add(true);
ll.toString();

}


My understanding is that:

List<Object> ll = new LinkedList<Object>();
mean the same thing as

List<? extends Object> ll = new LinkedList<? extends Object>();
but not according to Whizzlab

Could anyone clarify please?

Thank you
Katrin
 
Katrin Perry
Ranch Hand
Posts: 61
  • Mark post as helpful
  • send pies
  • Report post to moderator
Sorry, the second code extract would cause compile error according to Whizzlab.
 
Jesper de Jong
Java Cowboy
Saloon Keeper
Posts: 15627
46
Android IntelliJ IDE Java Scala Spring
  • Mark post as helpful
  • send pies
  • Report post to moderator
Note: You can use code tags to make the forum format your code nicely.
 
Katrin Perry
Ranch Hand
Posts: 61
  • Mark post as helpful
  • send pies
  • Report post to moderator
Thanks for the suggestion, but this can't be a reason not to answer my question.
 
Jesper de Jong
Java Cowboy
Saloon Keeper
Posts: 15627
46
Android IntelliJ IDE Java Scala Spring
 
    Bookmark Topic Watch Topic
  • New Topic