「java从枚举类取数据」java 如何定义枚举类型数据
今天给各位分享java从枚举类取数据的知识,其中也会对java 如何定义枚举类型数据进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
如何使用java中的枚举类
static final通常跟的是一个int类型的常数,所以有时候可以用int型代替枚举
在有些时候需要输出这个枚举量的名字(比如January),上面的方法输出的是int值,用类的话可以把名字一起输出
总的来说前者消耗资源比较少,后者更符合枚举的定义
枚举的确是一个类,在JDK1.4及以前,没有enum这个用法,那时候都是使用类来建立的,在《Java编程思想》中介绍了一类写法(详见第三版的章节8.1.3群组常量);JDK5以后,enum被引入,本质上就是一个类,所以可以被继承,总体思路和第三版这个写法类似,只是换了个名字(《Java编程思想》第四版第19章专门讲这个)
补充:我把早期的例子给出吧,你看一下,这就是早期的枚举的方法:
public final class Month{
private String name;
private Month (String nm){name=nm;}
public String toString(){return name;}
public static final Month
JAN=new Month("January"),
FEB=new Month("February"),
MAR=new Month("March"),
APR=new Month("April"),
MAY=new Month("May"),
JUN=new Month("June"),
JUL=new Month("July"),
AUG=new Month("August"),
SEP=new Month("September"),
OCT=new Month("October"),
NOV=new Month("November"),
DEC=new Month("December");
public static final Month month[]={
JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC
};
public static final Month number(int ord){
return month[ord-1];
}
//main
public static void main(String args[]){
Month m=Month.JAN;
System.out.println(m);
m=Month.number(12);
System.out.println(m);
System.out.println(m==Month.DEC);
System.out.println(m.equals(Month.DEC));
System.out.println(Month.month[3]);
System.out.println(Month.APR);
}
}
Java枚举类型怎么使用
举(enum)类型是Java 5新增的特性,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示。
1、常量的使用
在JDK1.5之前,我们定义常量都是:public static fianl....。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。
总结:
1、枚举的本质是类,在没有枚举之前,仍然可以按照java最基本的编程手段来解决需要用到枚举的地方。枚举屏蔽了枚举值的类型信息,不像在用public static final定义变量必须指定类型。枚举是用来构建常量数据结构的模板,这个模板可扩展。枚举的使用增强了程序的健壮性,比如在引用一个不存在的枚举值的时候,编译器会报错。枚举的更多用法还需要在开发中去研究创造,Java5、Java6增加了不少新的特性,技术在升级,对程序员来说就要学习,如果你热爱java的话。否则别人用到新特性的代码你看不懂,那才叫郁闷。
2、枚举在Java家族中只占了很小的一块比重,所以我在项目中用枚举的地方不是很多,毕竟,一个项目是很多人开发维护的,用一个陌生的东西,会给其他的同事造成阅读困难。所以常量大都是用public static final 来定义的。
java resultset 获取枚举型数据
楼上的。。mysql里有这种类型,是一种字符串类数据列类型
ENUM('value1','value2',...) 65535个成员 1或2字节
但是用的比较少。。。
你得写程序自己处理下,大概是下边这样
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class EnumTesting {
Connection connection;
Statement statement;
public EnumTesting() {
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager
.getConnection("jdbc:mysql://192.168.1.25/test?user=spiderpassword=spider");
} catch (Exception e) {
System.err.println("Unable to find and load driver");
System.exit(1);
}
}
public void doWork() {
try {
statement = connection.createStatement();
ResultSet rs = statement
.executeQuery("SHOW COLUMNS FROM enumtest LIKE 'status'");
rs.next();
String enums = rs.getString("Type");
System.out.println(enums);
int position = 0, count = 0;
String[] availableEnums = new String[10];
while ((position = enums.indexOf("'", position)) 0) {
int secondPosition = enums.indexOf("'", position + 1);
availableEnums[count++] = enums.substring(position + 1,
secondPosition);
position = secondPosition + 1;
System.out.println(availableEnums[count - 1]);
}
rs.close();
statement.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Enum e = new Enum();
e.doWork();
}
}
java从枚举类取数据的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java 如何定义枚举类型数据、java从枚举类取数据的信息别忘了在本站进行查找喔。
发布于:2022-12-17,除非注明,否则均为
原创文章,转载请注明出处。