0
votes
import java.util.function.Consumer;

public class test {
    public static void main(String[] args) {
        Consumer<String> c = (x) --> System.out.println(x.toLowerCase());
        c.accept("Java2s.com");
    }
}

with error:

Exception in thread "main" java.lang.Error: Unresolved compilation problems: x cannot be resolved to a variable x cannot be resolved at test.main(test.java:5)

But in all official documents, this is working... Could someone help me?

1
This has nothing to do with Eclipse and all to do with just Java and your using Java incorrect syntax. Never try to run uncompilable code. - Hovercraft Full Of Eels

1 Answers

6
votes

Change --> to -> and it should work. It would work only in java8 and later. It's a way to define lambda expression which would consume a string (in your case) and would change the case to lower.