mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-08-26 08:45:34 +07:00
diamonds: 1.7 type inference for New Expressions
This commit is contained in:
+44
@@ -0,0 +1,44 @@
|
||||
public class Pos04<U> {
|
||||
|
||||
void test() {
|
||||
class Foo<V> {
|
||||
Foo(V x) {
|
||||
}
|
||||
|
||||
<Z> Foo(V x, Z z) {
|
||||
}
|
||||
}
|
||||
Foo<Integer> p1 = new Foo< >(1); //new Foo<Integer> created
|
||||
Foo<? extends Integer> p2 = new Foo< >(1); //new Foo<Integer> created
|
||||
Foo<?> p3 = new Foo< >(1); //new Foo<Object> created
|
||||
Foo<? super Integer> p4 = new Foo< >(1); //new Foo<Object> created
|
||||
|
||||
Foo<Integer> p5 = new Foo< >(1) {
|
||||
}; //new Foo<Integer> created
|
||||
Foo<? extends Integer> p6 = new Foo< >(1) {
|
||||
}; //new Foo<Integer> created
|
||||
Foo<?> p7 = new Foo< >(1) {
|
||||
}; //new Foo<Object> created
|
||||
Foo<? super Integer> p8 = new Foo< >(1) {
|
||||
}; //new Foo<Object> created
|
||||
|
||||
Foo<Integer> p9 = new Foo< >(1, ""); //new Foo<Integer> created
|
||||
Foo<? extends Integer> p10 = new Foo< >(1, ""); //new Foo<Integer> created
|
||||
Foo<?> p11 = new Foo< >(1, ""); //new Foo<Object> created
|
||||
Foo<? super Integer> p12 = new Foo< >(1, ""); //new Foo<Object> created
|
||||
|
||||
Foo<Integer> p13 = new Foo< >(1, "") {
|
||||
}; //new Foo<Integer> created
|
||||
Foo<? extends Integer> p14 = new Foo< >(1, "") {
|
||||
}; //new Foo<Integer> created
|
||||
Foo<?> p15 = new Foo< >(1, "") {
|
||||
}; //new Foo<Object> created
|
||||
Foo<? super Integer> p16 = new Foo< >(1, "") {
|
||||
}; //new Foo<Object> created
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
Pos04<String> p4 = new Pos04<>();
|
||||
p4.test();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user