将基元数组转换为String的ArrayLIst

时间:2011-06-24 16:01:50

标签: java arrays reflection arraylist

我有一个方法可以转换Object(它是一个原语或字符串数​​组),它是在调用方法之后得到的(因此它在java.lang.Object的实例中)。我想从输入数组构建ArrayList。 我尝试使用新的ArrayList

我编写了类似这样的内容

private List<String> getListOfStringForPrimitives( Object inputObject ) {
     Class<?> inputClass = null;
    if (inputObject != null) {
        inputClass = inputObject.getClass();
    // Returns true if the inputObject is an Array
        if (isTypeAnArray(inputClass.getName())) {
            Class<?> componentType = inputClass.getComponentType();
            // If the inputObject is array of primitives build the list of Strings from the inputObject
            if (isTypePrimitive(componentType.getName())) {
                //ArrayList <String> arryList;
               // build an array list of Strings. from the inputObject and return.
            }
        }
    }
    return arryList;

}

我被困在如何从输入数组构建ArrayList! 提前谢谢。

2 个答案:

答案 0 :(得分:1)

使用java.lang.reflect.Array从基本数组中获取原始值,然后将装箱的等价物(例如Integer)添加到ArrayList。

编写一组if-then-else子句,将componentType与Integer.TYPECharacter.TYPE等进行比较。在每个子句中,将相应的调用写入Array类以获取基元,然后将它们传递给Whatever.valueOf,然后将结果粘贴到数组列表中。

答案 1 :(得分:-1)