method reference on getClass: fix method reference constraint

This commit is contained in:
Anna Kozlova
2016-02-01 16:45:11 +03:00
parent bd2113b739
commit ea9e4ba63c
6 changed files with 50 additions and 22 deletions

View File

@@ -0,0 +1,30 @@
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Function;
import java.util.stream.Stream;
class Test {
public <T> void some() {
Function<AtomicReference<T>, ? extends Class<? extends AtomicReference>> a = AtomicReference<T>::getClass;
Function<AtomicReference<T>, ? extends Class<? extends AtomicReference>> b = AtomicReference::getClass;
}
}
class Test1<M> {
public <T> void some(Stream<Test1<T>> stream) {
stream.map(Test1::getClass);
stream.map(Test1<T>::getClass);
}
public String getClass(String name) {
return null;
}
}
class Test2<M> {
public <T> void some(Stream<Test2<T>> stream) {
stream.map(Test2::getClass);
stream.map(Test2<T>::getClass);
}
}

View File

@@ -1,10 +0,0 @@
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Function;
class Test {
public <T> void some() {
Function<AtomicReference<T>, ? extends Class<? extends AtomicReference>> a = AtomicReference<T>::getClass;
Function<AtomicReference<T>, ? extends Class<? extends AtomicReference>> b = AtomicReference::getClass;
}
}