fromLong

Returns a NonNegativeInteger representing the specified value, or throws an IllegalArgumentException if value is negative.


Calling from Kotlin

Here's an example of calling this function from Kotlin code:

val result: NonNegativeInteger = NonNegativeInteger.fromLong(42)
check("$result" == "42")

val exception: Throwable? =
runCatching { NonNegativeInteger.fromLong(-1) }.exceptionOrNull()
check(exception is IllegalArgumentException)

val safeResult: NonNegativeInteger? =
NonNegativeInteger.fromLongOrNull(-1)
check(safeResult == null)

Calling from Java

Here's an example of calling this function from Java code:

final NonNegativeInteger result = NonNegativeInteger.fromLong(42L);
final boolean check = String.valueOf(result).equals("42");
if (!check) throw new IllegalStateException("Check failed.");

try {
NonNegativeInteger.fromLong(-1L);
throw new IllegalStateException("Check failed.");
} catch (IllegalArgumentException ignored) {
}

See the fromLongOrNull function for returning null instead of throwing an exception when value is negative.