Class ExactConversionsSupport
 For example, a conversion from int to byte for the value 10
 is exact because the result, 10, is the same as the original value. In
 contrast, if the int variable i stores the value 1000 then a
 narrowing primitive conversion to byte will yield the result -24.
 Loss of information has occurred: both the magnitude and the sign of the
 result are different than those of the original value. As such, a conversion
 from int to byte for the value 1000 is inexact. Finally a
 widening primitive conversion from byte to int is
 unconditionally exact because it will always succeed with no loss of
 information about the magnitude of the numeric value.
 
 The methods in this class provide the run-time support for the exactness
 checks of testing conversions from a primitive type to primitive type. These
 methods may be used, for example, by Java compiler implementations to
 implement checks for instanceof and pattern matching runtime
 implementations. Unconditionally exact testing conversions do not require a
 corresponding action at run time and, for this reason, methods corresponding
 to these exactness checks are omitted here.
 
 The run time conversion checks examine whether loss of information would
 occur if a testing conversion would be to be applied. In those cases where a
 floating-point primitive type is involved, and the value of the testing
 conversion is either signed zero, signed infinity or NaN, these
 methods comply with the following:
 
- Converting a floating-point negative zero to an integer type is considered inexact.
- Converting a floating-point NaNor infinity to an integer type is considered inexact.
- Converting a floating-point NaNor infinity or signed zero to another floating-point type is considered exact.
- Implementation Note:
- Some exactness checks describe a test which can be redirected
 safely through one of the existing methods. Those are omitted too (i.e.,
 bytetocharcan be redirected toisIntToCharExact(int),shorttobytecan be redirected toisIntToByteExact(int)and similarly forshorttochar,chartobyteandchartoshortto the corresponding methods that take anint).
- See Java Language Specification:
- 
5.7.1 Exact Testing Conversions
 5.7.2 Unconditionally Exact Testing Conversions
 15.20.2 The instanceof Operator
- Since:
- 23
- 
Method SummaryModifier and TypeMethodDescriptionstatic booleanisDoubleToByteExact(double n) Exactness method from double to bytestatic booleanisDoubleToCharExact(double n) Exactness method from double to charstatic booleanisDoubleToFloatExact(double n) Exactness method from double to floatstatic booleanisDoubleToIntExact(double n) Exactness method from double to intstatic booleanisDoubleToLongExact(double n) Exactness method from double to longstatic booleanisDoubleToShortExact(double n) Exactness method from double to shortstatic booleanisFloatToByteExact(float n) Exactness method from float to bytestatic booleanisFloatToCharExact(float n) Exactness method from float to charstatic booleanisFloatToIntExact(float n) Exactness method from float to intstatic booleanisFloatToLongExact(float n) Exactness method from float to longstatic booleanisFloatToShortExact(float n) Exactness method from float to shortstatic booleanisIntToByteExact(int n) Exactness method from int to bytestatic booleanisIntToCharExact(int n) Exactness method from int to charstatic booleanisIntToFloatExact(int n) Exactness method from int to floatstatic booleanisIntToShortExact(int n) Exactness method from int to shortstatic booleanisLongToByteExact(long n) Exactness method from long to bytestatic booleanisLongToCharExact(long n) Exactness method from long to charstatic booleanisLongToDoubleExact(long n) Exactness method from long to doublestatic booleanisLongToFloatExact(long n) Exactness method from long to floatstatic booleanisLongToIntExact(long n) Exactness method from long to intstatic booleanisLongToShortExact(long n) Exactness method from long to short
- 
Method Details- 
isIntToByteExactpublic static boolean isIntToByteExact(int n) Exactness method from int to byte- Parameters:
- n- value
- Returns:
- true if and only if the passed value can be converted exactly to the target type
 
- 
isIntToShortExactpublic static boolean isIntToShortExact(int n) Exactness method from int to short- Parameters:
- n- value
- Returns:
- true if and only if the passed value can be converted exactly to the target type
 
- 
isIntToCharExactpublic static boolean isIntToCharExact(int n) Exactness method from int to char- Parameters:
- n- value
- Returns:
- true if and only if the passed value can be converted exactly to the target type
 
- 
isIntToFloatExactpublic static boolean isIntToFloatExact(int n) Exactness method from int to float- Implementation Requirements:
- relies on the notion of representation equivalence defined in the specification of the Double class.
- Parameters:
- n- value
- Returns:
- true if and only if the passed value can be converted exactly to the target type
 
- 
isLongToByteExactpublic static boolean isLongToByteExact(long n) Exactness method from long to byte- Parameters:
- n- value
- Returns:
- true if and only if the passed value can be converted exactly to the target type
 
- 
isLongToShortExactpublic static boolean isLongToShortExact(long n) Exactness method from long to short- Parameters:
- n- value
- Returns:
- true if and only if the passed value can be converted exactly to the target type
 
- 
isLongToCharExactpublic static boolean isLongToCharExact(long n) Exactness method from long to char- Parameters:
- n- value
- Returns:
- true if and only if the passed value can be converted exactly to the target type
 
- 
isLongToIntExactpublic static boolean isLongToIntExact(long n) Exactness method from long to int- Parameters:
- n- value
- Returns:
- true if and only if the passed value can be converted exactly to the target type
 
- 
isLongToFloatExactpublic static boolean isLongToFloatExact(long n) Exactness method from long to float- Implementation Requirements:
- relies on the notion of representation equivalence defined in the specification of the Double class.
- Parameters:
- n- value
- Returns:
- true if and only if the passed value can be converted exactly to the target type
 
- 
isLongToDoubleExactpublic static boolean isLongToDoubleExact(long n) Exactness method from long to double- Implementation Requirements:
- relies on the notion of representation equivalence defined in the specification of the Double class.
- Parameters:
- n- value
- Returns:
- true if and only if the passed value can be converted exactly to the target type
 
- 
isFloatToByteExactpublic static boolean isFloatToByteExact(float n) Exactness method from float to byte- Implementation Requirements:
- relies on the notion of representation equivalence defined in the specification of the Double class.
- Parameters:
- n- value
- Returns:
- true if and only if the passed value can be converted exactly to the target type
 
- 
isFloatToShortExactpublic static boolean isFloatToShortExact(float n) Exactness method from float to short- Implementation Requirements:
- relies on the notion of representation equivalence defined in the specification of the Double class.
- Parameters:
- n- value
- Returns:
- true if and only if the passed value can be converted exactly to the target type
 
- 
isFloatToCharExactpublic static boolean isFloatToCharExact(float n) Exactness method from float to char- Implementation Requirements:
- relies on the notion of representation equivalence defined in the specification of the Double class.
- Parameters:
- n- value
- Returns:
- true if and only if the passed value can be converted exactly to the target type
 
- 
isFloatToIntExactpublic static boolean isFloatToIntExact(float n) Exactness method from float to int- Implementation Requirements:
- relies on the notion of representation equivalence defined in the specification of the Double class.
- Parameters:
- n- value
- Returns:
- true if and only if the passed value can be converted exactly to the target type
 
- 
isFloatToLongExactpublic static boolean isFloatToLongExact(float n) Exactness method from float to long- Implementation Requirements:
- relies on the notion of representation equivalence defined in the specification of the Double class.
- Parameters:
- n- value
- Returns:
- true if and only if the passed value can be converted exactly to the target type
 
- 
isDoubleToByteExactpublic static boolean isDoubleToByteExact(double n) Exactness method from double to byte- Implementation Requirements:
- relies on the notion of representation equivalence defined in the specification of the Double class.
- Parameters:
- n- value
- Returns:
- true if and only if the passed value can be converted exactly to the target type
 
- 
isDoubleToShortExactpublic static boolean isDoubleToShortExact(double n) Exactness method from double to short- Implementation Requirements:
- relies on the notion of representation equivalence defined in the specification of the Double class.
- Parameters:
- n- value
- Returns:
- true if and only if the passed value can be converted exactly to the target type
 
- 
isDoubleToCharExactpublic static boolean isDoubleToCharExact(double n) Exactness method from double to char- Implementation Requirements:
- relies on the notion of representation equivalence defined in the specification of the Double class.
- Parameters:
- n- value
- Returns:
- true if and only if the passed value can be converted exactly to the target type
 
- 
isDoubleToIntExactpublic static boolean isDoubleToIntExact(double n) Exactness method from double to int- Implementation Requirements:
- relies on the notion of representation equivalence defined in the specification of the Double class.
- Parameters:
- n- value
- Returns:
- true if and only if the passed value can be converted exactly to the target type
 
- 
isDoubleToLongExactpublic static boolean isDoubleToLongExact(double n) Exactness method from double to long- Implementation Requirements:
- relies on the notion of representation equivalence defined in the specification of the Double class.
- Parameters:
- n- value
- Returns:
- true if and only if the passed value can be converted exactly to the target type
 
- 
isDoubleToFloatExactpublic static boolean isDoubleToFloatExact(double n) Exactness method from double to float- Implementation Requirements:
- relies on the notion of representation equivalence defined in the specification of the Double class.
- Parameters:
- n- value
- Returns:
- true if and only if the passed value can be converted exactly to the target type
 
 
-