, . , bar . , List<anonymous type>. Foo ( Foo - ), List<Foo>.
, :
List<? extends Foo> f = bar(new Foo(){
public void doFoo() { }
});
List<Foo> f = bar((Foo) new Foo(){
public void doFoo() { }
});
, , :
List<Object> objects = bar("hello");
Object x = "hello";
List<Object> objects = bar(x);
, , .