introduce functional: don't treat all parameters as ignored cause they could belong to for loops, nested classes not available at call site, etc

This commit is contained in:
Anna Kozlova
2015-12-14 10:30:48 +01:00
parent 7cf8995a23
commit e426d5ac3a
4 changed files with 87 additions and 4 deletions
@@ -0,0 +1,31 @@
import java.util.ArrayList;
import java.util.List;
import java.util.function.Function;
class Test {
public void run() {
final Normalizer normalizer = new Normalizer();
final List<String> input = new ArrayList<>();
final List<String> output = new ArrayList<>();
doNormalize(input, output, new Function<String,String>() {
public String apply(String s) {
return normalizer.normalize(s);
}
});
}
private void doNormalize(final List<String> input, final List<String> output, Function<String, String> anObject) {
for (final String s : input) {
output.add(anObject.apply(s));
}
}
public static class Normalizer {
public String normalize(final String s) {
return s;
}
}
}
@@ -0,0 +1,26 @@
import java.util.ArrayList;
import java.util.List;
class Test {
public void run() {
final Normalizer normalizer = new Normalizer();
final List<String> input = new ArrayList<>();
final List<String> output = new ArrayList<>();
doNormalize(input, normalizer, output);
}
private void doNormalize(final List<String> input, final Normalizer normalizer, final List<String> output) {
for (final String s : input) {
output.add(<selection>normalizer.normalize(s)</selection>);
}
}
public static class Normalizer {
public String normalize(final String s) {
return s;
}
}
}