java.lang.Enum.valueOf()方法实例

本文详细介绍了Java.lang.Enum.valueOf()方法的功能、参数、返回值以及异常处理,并通过实例展示了如何使用此方法来获取枚举常量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转:http://www.yiibai.com/java/lang/enum_valueof.html

java.lang.Enum.valueOf() 方法返回指定名称enumtype的枚举常量。该名称必须用于声明在此类型的枚举常量的标识符完全匹配。

声明

以下是java.lang.Enum.valueOf()方法的声明

public static <T extends Enum<T>> T valueOf(Class<T> enumType, String name) static <T extends Enum<T>> T valueOf(Class<T> enumType, String name)

参数

  • enumType -- 这是枚举类型,返回一个常量的类的对象。

  • name -- 这是常量,要返回的名称。

返回值

此方法返回具有指定名称的枚举类型的枚举常量。

异常

  • IllegalArgumentException -- 如果指定的枚举类型没有常量指定名称,或指定的类对象不表示枚举类型。

  • NullPointerException -- 如果 enumType 或 name 为 null.

例子

下面的例子显示java.lang.Enum.valueOf()方法的使用。

package com.yiibai;

import java.lang.*;

// enum showing Mobile prices
enum Mobile {
   Samsung(400), Nokia(250),Motorola(325);
  
   int price;
   Mobile(int p) {
      price = p;
   }
   int showPrice() {
      return price;
   } 
}

public class EnumDemo {
   
   public static void main(String args[]) {
   
     System.out.println("CellPhone List:");
     for(Mobile m : Mobile.values()) { 
        System.out.println(m + " costs " + m.showPrice() + " dollars");
     }

     Mobile ret;
     ret = Mobile.valueOf("Samsung"); 
     System.out.println("Selected : " + ret);                              
   }
}  com.yiibai;

import java.lang.*;

// enum showing Mobile prices
enum Mobile {
   Samsung(400), Nokia(250),Motorola(325);
  
   int price;
   Mobile(int p) {
      price = p;
   }
   int showPrice() {
      return price;
   } 
}

public class EnumDemo {
   
   public static void main(String args[]) {
   
     System.out.println("CellPhone List:");
     for(Mobile m : Mobile.values()) { 
        System.out.println(m + " costs " + m.showPrice() + " dollars");
     }

     Mobile ret;
     ret = Mobile.valueOf("Samsung"); 
     System.out.println("Selected : " + ret);                              
   }
} 

让我们来编译和运行上面的程序,这将产生以下结果:

CellPhone List:
Samsung costs 400 dollars
Nokia costs 250 dollars
Motorola costs 325 dollars
Selected : Samsung List:
Samsung costs 400 dollars
Nokia costs 250 dollars
Motorola costs 325 dollars
Selected : Samsung
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值