anonym -> lambda: expression lambda should be used with care due to void/value ambiguity (IDEA-125951)

This commit is contained in:
Anna Kozlova
2014-11-03 16:03:53 +01:00
parent 4c490557a9
commit 7547c92c1f
5 changed files with 125 additions and 2 deletions
@@ -0,0 +1,27 @@
// "Replace with lambda" "true"
import java.util.HashSet;
import java.util.Set;
class Test {
public static void main(String[] args) {
Set<String> strings = new HashSet<>();
new Test().query((ResultSet var1) -> strings.add("Col1"));
}
public void query(RowCallbackHandler rch){
System.out.println();
}
public Object query( final ResultSetExtractor rse) {
return null;
}
}
interface RowCallbackHandler {
void processRow(ResultSet var1);
}
interface ResultSetExtractor {
Object extractData(ResultSet var1);
}
class ResultSet {}
@@ -0,0 +1,29 @@
// "Replace with lambda" "true"
import java.util.HashSet;
import java.util.Set;
class Test {
public static void main(String[] args) {
Set<String> strings = new HashSet<>();
new Test().query(pResultSet -> {
strings.add("Col1");
});
}
public void query(RowCallbackHandler rch){
System.out.println();
}
public Object query( final ResultSetExtractor rse) {
return null;
}
}
interface RowCallbackHandler {
void processRow(ResultSet var1);
}
interface ResultSetExtractor {
Object extractData(ResultSet var1);
}
class ResultSet {}
@@ -0,0 +1,32 @@
// "Replace with lambda" "true"
import java.util.HashSet;
import java.util.Set;
class Test {
public static void main(String[] args) {
Set<String> strings = new HashSet<>();
new Test().query(new Res<caret>ultSetExtractor() {
@Override
public Object extractData(ResultSet var1) {
return strings.add("Col1");
}
});
}
public void query(RowCallbackHandler rch){
System.out.println();
}
public Object query( final ResultSetExtractor rse) {
return null;
}
}
interface RowCallbackHandler {
void processRow(ResultSet var1);
}
interface ResultSetExtractor {
Object extractData(ResultSet var1);
}
class ResultSet {}
@@ -0,0 +1,32 @@
// "Replace with lambda" "true"
import java.util.HashSet;
import java.util.Set;
class Test {
public static void main(String[] args) {
Set<String> strings = new HashSet<>();
new Test().query(new RowCa<caret>llbackHandler() {
@Override
public void processRow(ResultSet pResultSet) {
strings.add("Col1");
}
});
}
public void query(RowCallbackHandler rch){
System.out.println();
}
public Object query( final ResultSetExtractor rse) {
return null;
}
}
interface RowCallbackHandler {
void processRow(ResultSet var1);
}
interface ResultSetExtractor {
Object extractData(ResultSet var1);
}
class ResultSet {}