ERROR - "Type mismatch: cannot convert from char to boolean" while using Predicate and Lambda Expressions in Java 8

Error

Type mismatch: cannot convert from char to boolean.

while using Predicate and Lambda Expressions in Java 8.

Error Type


Compile Time ( Java 8 )


Sample Code


Predicate<String> prd = p->p.charAt(0);

Possible Cause

As Predicate returns Boolean, Lambda body should return boolean when used for PRedicate.  


Resolution

Modify the Lambda body to return boolean instead of char.   

Predicate<String> prd = p->p.charAt(0) > 65;