这个问题在这里已经有答案了:
new运算符和class.newinstance()之间有什么区别(10个答案)
使用构造函数参数从类创建新示例(5个答案)
两年前关门了。
我正在做一个数据库项目,我正在将java连接到一个mysql数据库。
在这之后,我的一个同事必须将java连接到服务器,为了使他的工作更简单,我尝试将数据库返回的结果集转换为json。
我使用的是jsonsimple1.1api,我试图避免为每个数据库表创建大量的方法。我的想法是尝试创建一个方法,用正确的类型和名称将它得到的任何东西转换成json。这是我的密码:
(...)
ResultSet resultSet = statement.executeQuery();
ResultSetMetaData rsmd = resultset.getMetaData();
// Treat the results and tranform to JSON.
while(resultset.next())
{
Class<?> objectClass;
JSONObject obj = new JSONObject();
for (int i=1; i <= rsmd.getColumnCount(); i++) {
objectClass = SQLTypeMap.toClass(rsmd.getColumnType(i));
// This is what I thought would work. As you can guess, it doesn't.
obj.put(rsmd.getColumnName(i), new objectClass(resultset.getString(i)));
}
result.add(obj);
(...)
sqltypemap是我创建的一个类,它将sql类型Map到java类并返回类本身。
我的问题很简单:有没有什么方法可以在运行前不知道它的类型就示例化一个新的java类?如果是,怎么做?
谢谢您。
暂无答案!
目前还没有任何答案,快来回答吧!