The between()
method is a ComparableUtils
class that returns a predicate for the passed value. The predicate checks whether the given value is in the specified range or not.
Note: Refer to the What is a Java predicate? shot to learn more about predicates in Java.
Refer to the code example given below to better understand this method.
ComparableUtils
classThe definition of the ComparableUtils
class can be found in the Apache Commons Lang
package, which we can add to the Maven project by adding the following dependency to the pom.xml
file:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
We can import the ComparableUtils
class like this:
import org.apache.commons.lang3.compare.ComparableUtils;
public static <A extends Comparable<A>> Predicate<A> between(final A b, final A c)
This method returns a predicate that checks whether the following condition is true or false:
[b <= a <= c] or [b >= a >= c]
b
and c
are the parameters of the between
method.a
is the input to the predicate.final A b
: This is the object that needs to be compared to the tested object.final A c
: This is the object that we compare the tested object with.This method returns a predicate.
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>test</artifactId> <version>1.0-SNAPSHOT</version> <properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.12.0</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.1</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>Main</mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>
The Maven dependency for the ComparableUtils
class is present in the pom.xml
file.
Main.java
b
.c
.b
and c
as parameters to the ComparableUtils.between()
method. This returns a predicate called betweenPredicate
.testVal
.test()
method of the predicate to test whether the testVal
value is in the range [b, c]
. Then, we print the result of the comparison to the console.