return ans.toArray();
是一个常见的 Java 代码语句,用于将一个 List
转换成一个数组。
如果 ans
是一个 List
对象,这段代码会将其转换成一个数组,并返回该数组。
不过,如果你需要明确地返回特定类型的数组(如 String[]
或 Integer[]
),可以使用以下格式:
return ans.toArray(new String[0]); // 适用于 String 类型的 List
return ans.toArray(new Integer[0]); // 适用于 Integer 类型的 List
这样可以确保返回的数组是你期望的类型。
不能返回int[]吗
在 Java 中,将 List<Integer>
转换为 int[]
确实稍微复杂一些,因为 List<Integer>
是基于对象的,而 int[]
是基于原始类型的。直接使用 toArray()
方法只能转换为包装类数组 Integer[]
,不能直接转换为原始类型数组 int[]
。
你可以通过以下方式将 List<Integer>
转换为 int[]
:
java
List<Integer> ans = ...; // 假设 ans 已经被填充
int[] result = ans.stream().mapToInt(Integer::intValue).toArray();
return result;
这里使用了 Java 8 的 Stream API 来处理转换。这段代码首先将 List<Integer>
转换为一个 IntStream
,然后将其转换为 int[]
。
如果不使用 Stream API,也可以通过手动方式来实现:
java
复制代码
List<Integer> ans = ...; // 假设 ans 已经被填充
int[] result = new int[ans.size()];
for (int i = 0; i < ans.size(); i++)
{ result[i] = ans.get(i); }
return result;
这种方式通过遍历 List
,将每个元素逐个复制到 int[]
中。