在Java中的方法中传递和使用Class类型

时间:2012-08-10 14:01:41

标签: java class types methods parameter-passing

我有一个解析器方法,它将在完成时填充用户定义的集合类型。我试图在我的抽象解析器类中抽象这个类。

这是代码

    protected List<Collection> parseData(List<Data> data, Class<Collection> collectionType)
    {
        List<Collection> parsedData = new ArrayList<collectionType>();
        //Parse data
        return parsedData
    }

但是我在列表实例化行中不断收到以下错误:     collectionType无法解析为某个类型,     无法将ArrayList解析为类型

这是我第一次尝试这样的事情而且我不确定是什么问题。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您需要使用通用方法。这样的事情。

C#:

    protected List<T> parseData<T>(List<Data> data, T collectionType)
    {
        List<T> parsedData = new List<T>();
        //Parse data
        return parsedData;
    }

JAVA:

protected <T> List<T> callFriend(List<Data> data, Class<T> collectionType) {
     List<T> parsedData = new ArrayList<T>();
        //Parse data
        return parsedData;
}