首页 > 解决方案 > Create ArrayList of arrays using Arrays.asList

问题描述

I am trying to create ArrayList of arrays with method Arrays.asList but I am struggling to achieve this goal when I have only one array to pass into the list.

List<String[]> notWithArrays = Arrays.asList(new String[] {"Slot"}); // compiler does not allow this
List<String[]> withArrays = Arrays.asList(new String[] {"Slot"},new String[] {"ts"}); // this is ok

The problem is that sometimes I have only one array to pass as argument and since it is only one iterable method asList creates List of strings out of it instead of required List<String[]>. Is there a way or method to make the list of arrays notWithArrays without having to create it manually?

Example of creating it manually:

List<String[]> withArraysManual = new ArrayList<>();
withArraysManual.add(new String[] {"Slot"});

标签: javaarrays

解决方案


I think you want to create a List<String[]> using Arrays.asList, containing the string array {"Slot"}.

You can do that like this:

List<String[]> notWithArrays = Arrays.asList(new String[][] {{"Slot"}});

or you can explicitly specify the generic type parameter to asList, like this:

List<String[]> notWithArrays = Arrays.<String[]>asList(new String[] {"Slot"});

推荐阅读