如何知道列表的数据类型

时间:2014-03-22 19:16:57

标签: java hibernate list collections

这是我的代码,这里我将元素放入我的列表中。但实际上我必须在我的清单上处理。所以必须知道列表的类型

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;
}


}

2 个答案:

答案 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 docslist属于List<Object>类型。