Yes, it's a trivial piece of code to write, but I still wonder if there's a built-in replacement.
Here's the code:
/**
* Cast x to int, throw an exception if there's loss of information
*/
public static int safeLongToInt(long x)
{
int result = (int) x;
if (result != x)
throw new RuntimeException("long doesn't fit in an int: " + x);
return result;
}
The code in C# would be:
int foo;
long bar = ...;
checked
{
foo = bar;
}
No there's no equivalent, check out this keyword chart.
The (pre-release) open-source Guava library has the method you seek:
Ints.checkedCast(long)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With