可以通过Class的name属性来查看数据类型,每一个对象都有一个Class,在java中一切皆对象,故能够通过如下方式来获取对象的类型:
Date date = new Date();
System.out.println(date.getClass().getName()); //java.util.Date
亲,你是要判断date类型吗?看下面的例子:
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("SELECT * from Customer");
int colType = rs.getColumnType(1);
System.out.println("Column 1 is type " + colType);
返回结果列表:
-7 BIT
-6 TINYINT
-5 BIGINT
-4 LONGVARBINARY
-3 VARBINARY
-2 BINARY
-1 LONGVARCHAR
0 NULL
1 CHAR
2 NUMERIC
3 DECIMAL
4 INTEGER
5 SMALLINT
6 FLOAT
7 REAL
8 DOUBLE
12 VARCHAR
91 DATE
92 TIME
93 TIMESTAMP
1111 OTHER
返回91,代表是date类型!
如果是判断数据库返回结果集的字段的数据类型,可以参考下面代码
PreparedStatement pstmt = dbc.getConnection().prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
ResultSetMetaData md = rs.getMetaData();
while (rs.next()) {
String column_type = md.getColumnTypeName(0);
//column_type 就是当前列的数据类型
}
不明白你说的data类型是什么东西。data是一个类么?
instanceof 是否可以帮到你?
http://bbs.csdn.net/topics/90376738
这个帖子,自己去看。