Class Jdk8Methods
- java.lang.Object
-
- org.threeten.bp.jdk8.Jdk8Methods
-
public final class Jdk8Methods extends Object
A set of utility methods that provide additional functionality for working with dates and times.The contents of this class replace functionality available in JDK 8.
Specification for implementors
This is a thread-safe utility class. All returned classes are immutable and thread-safe.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static intcompareInts(int a, int b)Compares two ints.static intcompareLongs(long a, long b)Compares two longs.static booleanequals(Object a, Object b)Compares two objects.static intfloorDiv(int a, int b)Returns the floor division.static longfloorDiv(long a, long b)Returns the floor division.static intfloorMod(int a, int b)Returns the floor modulus.static intfloorMod(long a, int b)Returns the floor modulus.static longfloorMod(long a, long b)Returns the floor modulus.static <T> TrequireNonNull(T value)Ensures that the argument is non-null.static <T> TrequireNonNull(T value, String parameterName)Ensures that the argument is non-null.static intsafeAdd(int a, int b)Safely adds two int values.static longsafeAdd(long a, long b)Safely adds two long values.static intsafeMultiply(int a, int b)Safely multiply one int by another.static longsafeMultiply(long a, int b)Safely multiply a long by an int.static longsafeMultiply(long a, long b)Multiply two values throwing an exception if overflow occurs.static intsafeSubtract(int a, int b)Safely subtracts one int from another.static longsafeSubtract(long a, long b)Safely subtracts one long from another.static intsafeToInt(long value)Safely convert a long to an int.
-
-
-
Method Detail
-
requireNonNull
public static <T> T requireNonNull(T value)
Ensures that the argument is non-null.- Type Parameters:
T- the value type- Parameters:
value- the value to check- Returns:
- the checked non-null value
- Throws:
NullPointerException- if the value is null
-
requireNonNull
public static <T> T requireNonNull(T value, String parameterName)Ensures that the argument is non-null.- Type Parameters:
T- the value type- Parameters:
value- the value to checkparameterName- the name of the parameter- Returns:
- the checked non-null value
- Throws:
NullPointerException- if the value is null
-
equals
public static boolean equals(Object a, Object b)
Compares two objects.- Parameters:
a- the first valueb- the second value- Returns:
- the result
-
compareInts
public static int compareInts(int a, int b)Compares two ints.- Parameters:
a- the first valueb- the second value- Returns:
- the result
-
compareLongs
public static int compareLongs(long a, long b)Compares two longs.- Parameters:
a- the first valueb- the second value- Returns:
- the result
-
safeAdd
public static int safeAdd(int a, int b)Safely adds two int values.- Parameters:
a- the first valueb- the second value- Returns:
- the result
- Throws:
ArithmeticException- if the result overflows an int
-
safeAdd
public static long safeAdd(long a, long b)Safely adds two long values.- Parameters:
a- the first valueb- the second value- Returns:
- the result
- Throws:
ArithmeticException- if the result overflows a long
-
safeSubtract
public static int safeSubtract(int a, int b)Safely subtracts one int from another.- Parameters:
a- the first valueb- the second value to subtract from the first- Returns:
- the result
- Throws:
ArithmeticException- if the result overflows an int
-
safeSubtract
public static long safeSubtract(long a, long b)Safely subtracts one long from another.- Parameters:
a- the first valueb- the second value to subtract from the first- Returns:
- the result
- Throws:
ArithmeticException- if the result overflows a long
-
safeMultiply
public static int safeMultiply(int a, int b)Safely multiply one int by another.- Parameters:
a- the first valueb- the second value- Returns:
- the result
- Throws:
ArithmeticException- if the result overflows an int
-
safeMultiply
public static long safeMultiply(long a, int b)Safely multiply a long by an int.- Parameters:
a- the first valueb- the second value- Returns:
- the new total
- Throws:
ArithmeticException- if the result overflows a long
-
safeMultiply
public static long safeMultiply(long a, long b)Multiply two values throwing an exception if overflow occurs.- Parameters:
a- the first valueb- the second value- Returns:
- the new total
- Throws:
ArithmeticException- if the result overflows a long
-
safeToInt
public static int safeToInt(long value)
Safely convert a long to an int.- Parameters:
value- the value to convert- Returns:
- the int value
- Throws:
ArithmeticException- if the result overflows an int
-
floorDiv
public static long floorDiv(long a, long b)Returns the floor division.This returns
0forfloorDiv(0, 4).
This returns-1forfloorDiv(-1, 4).
This returns-1forfloorDiv(-2, 4).
This returns-1forfloorDiv(-3, 4).
This returns-1forfloorDiv(-4, 4).
This returns-2forfloorDiv(-5, 4).- Parameters:
a- the dividendb- the divisor- Returns:
- the floor division
-
floorMod
public static long floorMod(long a, long b)Returns the floor modulus.This returns
0forfloorMod(0, 4).
This returns1forfloorMod(-1, 4).
This returns2forfloorMod(-2, 4).
This returns3forfloorMod(-3, 4).
This returns0forfloorMod(-4, 4).- Parameters:
a- the dividendb- the divisor- Returns:
- the floor modulus (positive)
-
floorMod
public static int floorMod(long a, int b)Returns the floor modulus.This returns
0forfloorMod(0, 4).
This returns3forfloorMod(-1, 4).
This returns2forfloorMod(-2, 4).
This returns1forfloorMod(-3, 4).
This returns0forfloorMod(-4, 4).
This returns3forfloorMod(-5, 4).- Parameters:
a- the dividendb- the divisor- Returns:
- the floor modulus (positive)
-
floorDiv
public static int floorDiv(int a, int b)Returns the floor division.This returns
1forfloorDiv(3, 3).
This returns0forfloorDiv(2, 3).
This returns0forfloorDiv(1, 3).
This returns0forfloorDiv(0, 3).
This returns-1forfloorDiv(-1, 3).
This returns-1forfloorDiv(-2, 3).
This returns-1forfloorDiv(-3, 3).
This returns-2forfloorDiv(-4, 3).- Parameters:
a- the dividendb- the divisor- Returns:
- the floor division
-
floorMod
public static int floorMod(int a, int b)Returns the floor modulus.This returns
0forfloorMod(3, 3).
This returns2forfloorMod(2, 3).
This returns1forfloorMod(1, 3).
This returns0forfloorMod(0, 3).
This returns2forfloorMod(-1, 3).
This returns1forfloorMod(-2, 3).
This returns0forfloorMod(-3, 3).
This returns2forfloorMod(-4, 3).- Parameters:
a- the dividendb- the divisor- Returns:
- the floor modulus (positive)
-
-