这是我的代码,这里我将元素放入我的列表中。但实际上我必须在我的清单上处理。所以必须知道列表的类型
public class FetchNameService {
public static Infobean fetchId() {
Infobean infobean = new Infobean();
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
String query="SELECT ifnull(max(CONVERT(substring(id,4),SIGNED) ),0) as maxId FROM infotable";
Query name = session.createSQLQuery(query);
List<?> list = name.list();
System.out.println(list.get(0));
return infobean;
}
}
答案 0 :(得分:2)
您可以使用反射来获取类的类型。
Class clazz = list.get(0).getClass();
System.out.println(clazz.getCanonicalName());
System.out.println(clazz.getEnclosingClass());
System.out.println(clazz.getSimpleName());
或者如果你知道它可以解决什么类型的类,你可以尝试类似下面的内容:
Object o = list.get(0);
if (o instanceof String)
{
...
}
else if (o instanceof Integer)
{
...
}
答案 1 :(得分:0)
我认为你可以尝试的唯一一件事是instanceOf(),并且考虑周全,因为根据the docs,list
属于List<Object>
类型。