fromInteger

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 value: Integer = Integer.fromLong(42)
val result: NonNegativeInteger = NonNegativeInteger.fromInteger(value)
check("$result" == "42")

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

val safeResult: NonNegativeInteger? =
NonNegativeInteger.fromIntegerOrNull(negative)
check(safeResult == null)

Calling from Java

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

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

final Integer negative = Integer.fromLong(-1);
try {
NonNegativeInteger.fromInteger(negative);
throw new IllegalStateException("Check failed.");
} catch (IllegalArgumentException ignored) {
}

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