java enum 查找

1.定义 enum

/**      
 *       
 * 厂家信息      
 * @author ztd        
 * @version 1.0      
 * @created 2016年8月30日 上午11:26:08     
 */       
public enum Firm { 

    /**  厂家->AA  */       
    AA((byte)1, "厂家->AA", 1),
    /**  厂家-BB  */       
    BB((byte)2, "厂家->BB", 2),
    /**  厂家->CC  */       
    CC((byte)3,"厂家->CC",3);

    private byte byteVal;
    private String name;
    private int intValue;

    private Firm(byte byteVal, String meaning, int intValue) {
        this.byteVal = byteVal;
        this.name = meaning;
        this.intValue = intValue;
    }
    public byte byteVal() {
        return this.byteVal;
    }
    public int intVal() {
        return this.intValue;
    }
    public String getName() {
        return this.name;
    }
}

2.定义找不到的错误提示

/**      
 * 找不到对应厂家错误          
 * @author ztd        
 * @version 1.0      
 * @created 2016年8月31日 下午3:37:51     
 */       
public class FirmNotFoundException extends Exception {

    /**  描述  */       

    private static final long serialVersionUID = 1L;

    public FirmNotFoundException() {
        super();
    }

    public FirmNotFoundException(String message, Throwable cause) {
        super(message, cause);
    }

    public FirmNotFoundException(String message) {
        super(message);
    }

}

3.测试


public class GetFirm {
    public static void main(String[] args) {
        try {
            System.out.println(getFrimById((byte)3));
            System.out.println(getFrimById((byte)4));
        } catch (FirmNotFoundException e) {
            e.printStackTrace();
        }
    }

    /**      
     * 获取厂家信息
     * @param firm
     * @return      
     * @throws FirmNotFoundException 
     */
    public static Firm getFrimById(byte firm) throws FirmNotFoundException {
        Firm target = null;
        for(Firm cmd : Firm.values()) {
            if(cmd.byteVal() == firm) {
                target = cmd;
                break;
            }
        }
        if(target == null) { 
            throw new FirmNotFoundException("找不到对应的厂家!", new Throwable("找不到厂家"));
        }
        return target;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值