原始对象类型转换和数组asList

时间:2019-07-24 12:35:21

标签: java

我最近正在使用Java api Stack类,发现了一个有趣的行为。查看下面的代码

import java.util.Arrays;
import java.util.Stack;

public class Test {
    public static void main(String[] args) {
        Stack<Character> stack = new Stack<>();
        String input = "abc";

        // This does not work
        // stack.addAll(Arrays.asList(input.toCharArray()));

        Character[] arr = primitiveToObject(input);
        stack.addAll(Arrays.asList(arr));
        System.out.println(stack);
    }

    private static Character[] primitiveToObject(String str) {
        char[] alpha = str.toCharArray();
        Character[] result = new Character[alpha.length];

        for(int index=0; index<alpha.length; index++) {
            result[index] = alpha[index];
        }

        return result;
    }
}

在上面的示例中,Arrays.asList()Character[]转换为List<Character>,但是将char[]转换为List<char[]>

问题: 是否有标准的Java API,可以从原始char[]转换为Character[]而不是编写您自己的方法。我发现Apache有一个ArrayUtil API,可以使用它,但是没有提供现成的标准Java api

修改 这个问题询问的是解决该情况的标准Java api,而不是如何解决它,因此不是标记为重复的

0 个答案:

没有答案
相关问题