我们在使用toArray()方法的时候,通常会遇到转型无值的问题,例如:
List widgetList = new ArrayList();
String[] widgetArray = (String[])widgetList.toArray();
这样的转型很明显是错误的,我们知道,java中转型基本要遵循向上转型的问题,在这里,如果采用上述转法,widgetArray中将无法转换出正确的值。正确方法应采用下面:
List widgetList = new ArrayList();
String[] widgetArray = new String[widgetList.size()];
widgetList.toArray(widgetArray );
其实我们可以把toArray(new String[size])的方法看做是将Object[]全部复制到新的String[]数组中。