【发布时间】:2011-12-29 08:57:07
【问题描述】:
还有很实用的Arrays.asList():
public static <T> List<T> asList(T... a) {
return new ArrayList<T>(a);
}
但是没有Arrays.array():
public static <T> T[] array(T... values) {
return values;
}
虽然这绝对是微不足道的,但这是构造数组的一种非常方便的方法:
String[] strings1 = array("1", "1", "2", "3", "5", "8");
// as opposed to the slightly more verbose
String[] strings2 = new String[] { "1", "1", "2", "3", "5", "8" };
// Of course, you can assign array literals like this
String[] strings3 = { "1", "1", "2", "3", "5", "8" };
// But you can't pass array literals to methods:
void x(String[] args);
// doesn't work
x({ "1", "1", "2", "3", "5", "8" });
// this would
x(array("1", "1", "2", "3", "5", "8"));
除了java.util.Arrays之外,Java 语言的其他地方是否有这样的方法?
【问题讨论】:
-
Lukas,您可以随时在数组中请求该方法。 :) OpenJDK 是一个开放的项目。 ;) 提交补丁,看看他们是否会接受。我相信像你的
array()这样的方法是有用的。 -
@DejanLekic,这是个好主意