I am trying to use a lambda expression in Android Studio to filter an array
String[] a = { "s", "", "1", "", "" };
a = Arrays.stream(a).filter(s -> !s.isEmpty()).toArray(String[]::new);
I am getting an error on compilation 'Cannot resolve method stream
'
Other Lambda expressions (say for click events) are working and I am targetting java 1.8 in my app gradle:
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
incremental = false;
}
Under File -> Project Stucture
I am using the embedded JDK and even when I switch to the latest Java 8 JDK i still get the error.
Interestingly if i switch back to VERSION_1_7 then my prevously working lambda statements give a compile error.
How can I get this filter working in Android Studio?