关于java枚举,我想抽象出一个工厂,求教
/**
* 这是一个枚举类,里面有静态方法getUserEnum(int id)
*/
public enum UserStatusEnum {
管理员(0), 会员(1);
private int id;
private UserStatusEnum(int id) {
this.id = id;
}
public int getId() {
return id;
}
public static UserStatusEnum getUserEnum(int status) {
UserStatusEnum temp = UserStatusEnum.会员;
for (UserStatusEnum e : UserStatusEnum.values()) {
if (e.getId() == status) {
temp = e;
break;
}
}
return temp;
}
}
/**
* 也有同样的方法getEnumType(int id)
*
*/
public enum NewsResourceEnum {
新华网(1), 搜狐网(2), 新浪网(3), 腾讯网(4), 雅虎新闻(5);
private int id;
private NewsResourceEnum(int id) {
this.id = id;
}
public int getId() {
return id;
}
/*
* 通过id获取相应的枚举实例
*/
public static NewsResourceEnum getEnumType(int id) {
NewsResourceEnum result = NewsResourceEnum.搜狐网;
for (int i = 0; i < NewsResourceEnum.values().length; i++) {
if (NewsResourceEnum.values()[i].getId() == id) {
result = NewsResourceEnum.values()[i];
break;
}
}
return result;
}
}
我现在就想写个工具类,泛型也可以,我需要什么类型的我就给传个什么类型过去,但是只限于枚举,然后方法里还要穿一个int id
大概是这样子的
public class EnumFactory <T extends Enum>{
public static T getEnumNewInstance(int id){
T result = null;
for(int i = 0;i<T.values().length;i++){
if(T.values()[i] == id){
result = T.values()[i];
break;
}
}
return result ;
}
}
...全文
相关推荐
Java枚举抽象方法实例解析
"Java 枚举抽象方法实例解析"Java 枚举抽象方法实例解析是 Java programming 中一个重要的概念,它允许开发者定义一组固定的常量值,并且每个常量值都有相同的行为,但是具体实现细节不同
Java包含抽象方法的枚举类示例
Java包含抽象方法的枚举类示例Java中的枚举类可以包含抽象方法,这种方式可以让枚举值实现不同的行为。
实例解析Java单例模式编程中对抽象工厂模式的运用
【Java 单例模式与抽象工厂模式的结合】在Java编程中,单例模式和抽象工厂模式都是非常重要的设计模式,它们分别解决了不同的问题。
java编写的抽象工厂迷宫,文字式,非图型界面
从给定的代码片段来看,我们正在探讨一个基于Java实现的抽象工厂模式的应用场景——创建一个文字式的迷宫游戏。这个迷宫游戏不依赖于图形界面,而是通过文本描述来构建和体验迷宫的结构与探索过程。
Java枚举使用方法详解
以下是对Java枚举使用方法的详细说明:1. **普通枚举** 在Java中,创建一个枚举非常简单,只需要定义一个类并将其声明为`enum`即可。


