Java TimeUnit valueOf()方法及示例
TimeUnit类的valueOf()方法返回该类型的枚举常量,并指定名称。该字符串必须与用于声明该类型枚举常量的标识符完全匹配。(不允许有多余的空白字符)。
语法。
public static TimeUnit valueOf(String name)
参数。该方法接受一个强制性的参数名,它是要返回的枚举常量的名称。
返回值。该方法返回具有指定名称的枚举常量。
异常。该方法会产生以下异常。
IllegalArgumentException – 如果这个枚举类型没有指定名称的常量。NullPointerException – 如果参数为空。下面的程序说明了TimeUnit valueOf()方法的实现。
程序 1:
// Java program to demonstrate// valueOf() method of TimeUnit Class import java.util.concurrent.*; class GFG { public static void main(String args[]) { // Create an object of TimeUnit class // using valueOf() method // Below statement is equivalent to // TimeUnit Days = TimeUnit.DAYS; TimeUnit Days = TimeUnit.valueOf("DAYS"); // Print the Enum of TimeUnit Object System.out.println("TimeUnit object " + "is of type: " + Days); // Convert current object to Hours System.out.println("1 Day = " + Days.toHours(1) + " Hours"); }}
输出:
TimeUnit object is of type: DAYS1 Day = 24 Hours
程序2:演示NullPointerException
// Java program to demonstrate// valueOf() method of TimeUnit Class import java.util.concurrent.*; class GFG { public static void main(String args[]) { try { System.out.println("Trying to create " + "TimeUnit object " + "using null Enum type"); // Create an object of TimeUnit class // using valueOf() method // by passing null as parameter TimeUnit Days = TimeUnit.valueOf(null); } catch (NullPointerException e) { System.out.println("\nException thrown: " + e); } }}输出:
Trying to create TimeUnit object using null Enum typeException thrown: java.lang.NullPointerException: Name is null
程序3:演示IllegalArgumentException
// Java program to demonstrate// valueOf() method of TimeUnit Class import java.util.concurrent.*; class GFG { public static void main(String args[]) { try { System.out.println("Trying to create " + "TimeUnit object " + "using ABCD Enum type"); // Create an object of TimeUnit class // using valueOf() method // by passing ABCD as parameter TimeUnit Days = TimeUnit.valueOf("ABCD"); } catch (IllegalArgumentException e) { System.out.println("\nException thrown: " + e); } }}输出:
Trying to create TimeUnit object using ABCD Enum typeException thrown: java.lang.IllegalArgumentException: No enum constant java.util.concurrent.TimeUnit.ABCD
