Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

# BiPredicate


`
public


interface
BiPredicate
`


`


`

|---|
| java.util.function.BiPredicate\<T, U\> |

<br />

*** ** * ** ***

Represents a predicate (boolean-valued function) of two arguments. This is
the two-arity specialization of `https://developer.android.com/reference/java/util/function/Predicate`.

This is a [functional interface](https://developer.android.com/reference/java/util/function/package-summary)
whose functional method is `https://developer.android.com/reference/java/util/function/BiPredicate#test(T,%20U)`.
**See also:**

- `https://developer.android.com/reference/java/util/function/Predicate`

## Summary

| ### Public methods ||
|---|---|
| ` default https://developer.android.com/reference/java/util/function/BiPredicate<T, U>` | ` https://developer.android.com/reference/java/util/function/BiPredicate#and(java.util.function.BiPredicate<?%20super%20T,?%20super%20U>)(https://developer.android.com/reference/java/util/function/BiPredicate<? super T, ? super U> other) ` Returns a composed predicate that represents a short-circuiting logical AND of this predicate and another. |
| ` default https://developer.android.com/reference/java/util/function/BiPredicate<T, U>` | ` https://developer.android.com/reference/java/util/function/BiPredicate#negate()() ` Returns a predicate that represents the logical negation of this predicate. |
| ` default https://developer.android.com/reference/java/util/function/BiPredicate<T, U>` | ` https://developer.android.com/reference/java/util/function/BiPredicate#or(java.util.function.BiPredicate<?%20super%20T,?%20super%20U>)(https://developer.android.com/reference/java/util/function/BiPredicate<? super T, ? super U> other) ` Returns a composed predicate that represents a short-circuiting logical OR of this predicate and another. |
| ` abstract boolean` | ` https://developer.android.com/reference/java/util/function/BiPredicate#test(T,%20U)(T t, U u) ` Evaluates this predicate on the given arguments. |

## Public methods

### and

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public BiPredicate<T, U> and (BiPredicate<? super T, ? super U> other)
```

Returns a composed predicate that represents a short-circuiting logical
AND of this predicate and another. When evaluating the composed
predicate, if this predicate is `false`, then the `other`
predicate is not evaluated.

Any exceptions thrown during evaluation of either predicate are relayed
to the caller; if evaluation of this predicate throws an exception, the
`other` predicate will not be evaluated.

<br />

| Parameters ||
|---|---|
| `other` | `BiPredicate`: a predicate that will be logically-ANDed with this predicate <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/util/function/BiPredicate<T, U>` | a composed predicate that represents the short-circuiting logical AND of this predicate and the `other` predicate <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/NullPointerException` | if other is null |

### negate

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public BiPredicate<T, U> negate ()
```

Returns a predicate that represents the logical negation of this
predicate.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/util/function/BiPredicate<T, U>` | a predicate that represents the logical negation of this predicate <br /> |

### or

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public BiPredicate<T, U> or (BiPredicate<? super T, ? super U> other)
```

Returns a composed predicate that represents a short-circuiting logical
OR of this predicate and another. When evaluating the composed
predicate, if this predicate is `true`, then the `other`
predicate is not evaluated.

Any exceptions thrown during evaluation of either predicate are relayed
to the caller; if evaluation of this predicate throws an exception, the
`other` predicate will not be evaluated.

<br />

| Parameters ||
|---|---|
| `other` | `BiPredicate`: a predicate that will be logically-ORed with this predicate <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/util/function/BiPredicate<T, U>` | a composed predicate that represents the short-circuiting logical OR of this predicate and the `other` predicate <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/NullPointerException` | if other is null |

### test

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract boolean test (T t, 
                U u)
```

Evaluates this predicate on the given arguments.

<br />

| Parameters ||
|---|---|
| `t` | `T`: the first input argument <br /> |
| `u` | `U`: the second input argument <br /> |

| Returns ||
|---|---|
| `boolean` | `true` if the input arguments match the predicate, otherwise `false` <br /> |