logo

Java Enum valueOf() метод

Методът valueOf() на клас Enum връща константата enum (от дефиниран тип enum) заедно с дефинираното име.

Синтаксис

 public static <t extends enum> T valueOf(Class enumType,String name) </t>

Параметри на типа:

T : Това е типът enum, чиято константа се получава.

Параметри

enumType - Това е обектът на класа от тип enum, който връща константа

име - Това е името на константата, която трябва да бъде върната

Върната стойност

Методът valueOf() връща константата enum заедно с дефинираното име.

Хвърляния

Методът valueOf() хвърля:

  1. IllegalArgumentException, ако дефинираният тип enum е непостоянен с дефинирано име или тип enum не е илюстриран от дефинирания обект на класа.
  2. NullPointerException, ако enumType или name представлява нулева стойност.

Пример 1

 enum Parts{ Skin, Muscles,Bones,Organs,Tissue; } public class Enum_valueOfMethodExample1 { public static void main(String[] args) { System.out.println(&apos;The part which is exposed to the environment is :&apos;); for(Parts part : Parts.values()){ int i = part.ordinal()+1; System.out.println(i+&apos; &apos;+part); } Parts part = Parts.valueOf(&apos;Skin&apos;); System.out.println(&apos;
Ans: &apos;+part); } } 
Тествайте сега

Изход:

 The part which is exposed to the environment is : 1 Skin 2 Muscles 3 Bones 4 Organs 5 Tissue Ans: Skin 

Пример 2

 enum Flower{ Rose,Lily, Orchids, Sunflower,Jasmine; } public class Enum_valueOfMethodExample2 { public static void main(String[] args) { System.out.println(&apos;The part which is exposed to the environment is :&apos;); for(Flower flower : Flower.values()) { System.out.println(Flower.valueOf(&apos; &apos;)); } } } 
Тествайте сега

Изход:

 Exception in thread &apos;main&apos; java.lang.IllegalArgumentException: No enum constant com.javaTpoint.Flower. The part which is exposed to the environment is : atjava.lang.Enum.valueOf(Enum.java:238) atcom.javaTpoint.Flower.valueOf(Enum_valueOfMethodExample2.java:4) at com.javaTpoint.Enum_valueOfMethodExample2.main(Enum_valueOfMethodExample2.java:11)