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开发者_Go百科 (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)
No. Java doesn't have any automatic overflow or loss of information checking like C# does.
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论