/* package whatever; // don't place package name! */
import java.util.* ;
import java.lang.* ;
import java.io.* ;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
}
public static < E extends InterfaceA & InterfaceB> void method( ) {
List< MyClass> list = new ArrayList<> ( ) ;
// Cannot convert from List<MyClass> to List<E>
List< E> objects = list;
}
}
interface InterfaceA { }
interface InterfaceB { }
class MyClass implements InterfaceA, InterfaceB { }
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCQoJfQoJCglwdWJsaWMgc3RhdGljIDxFIGV4dGVuZHMgSW50ZXJmYWNlQSAmIEludGVyZmFjZUI+IHZvaWQgbWV0aG9kKCkgewoJCUxpc3Q8TXlDbGFzcz4gbGlzdCA9IG5ldyBBcnJheUxpc3Q8PigpOwoJCQoJCS8vIENhbm5vdCBjb252ZXJ0IGZyb20gTGlzdDxNeUNsYXNzPiB0byBMaXN0PEU+CgkJTGlzdDxFPiBvYmplY3RzID0gbGlzdDsKCX0KfQoKaW50ZXJmYWNlIEludGVyZmFjZUEge30KaW50ZXJmYWNlIEludGVyZmFjZUIge30KY2xhc3MgTXlDbGFzcyBpbXBsZW1lbnRzIEludGVyZmFjZUEsIEludGVyZmFjZUIge30=
compilation info
Main.java:19: error: incompatible types: List<MyClass> cannot be converted to List<E>
List<E> objects = list;
^
where E is a type-variable:
E extends InterfaceA,InterfaceB declared in method <E>method()
1 error
stdout