ArrayList<String> newArray = new ArrayList<String>();
newArray = urlList.getUrl();
for( int i = 0 ; i < newArray.size();i++)
{
System.out.println(newArray.get(i));
}
newArray.toArray(mStrings );// is this correct
mStrings = newArray.toArray();// or this to convert ArrayList ot String array here
for( int i = 0 ; i < mStrings.length;i++)
{
System.out.println(mStrings[i]);
}
Run Code Online (Sandbox Code Playgroud)
编辑:当我尝试如下,我得到空指针异常:
try
{
newArray.toArray(mStrings );
for(int i = 0 ; i < mStrings.length; i++)
{
System.out.println(mStrings[i]);
}
} catch( NullPointerException e )
{
System.out.println(e);
}
Run Code Online (Sandbox Code Playgroud)
rli*_*bby 40
通常我写
String[] array = collection.toArray(new String[collection.size()]);
Run Code Online (Sandbox Code Playgroud)
因为这样
Collection.toArray(T[]).Nis*_*ant 30
取决于你想做什么.两者都是正确的
toArray() 以适当的顺序(从第一个元素到最后一个元素)返回包含此列表中所有元素的数组.
请参考这里
toArray(T [] a) 以适当的顺序(从第一个元素到最后一个元素)返回包含此列表中所有元素的数组; 返回数组的运行时类型是指定数组的运行时类型.如果列表适合指定的数组,则返回其中.否则,将使用指定数组的运行时类型和此列表的大小分配新数组.
请参考这里
在前者,你想得到一个数组.在后者你有一个数组,你只是想填补它.
在您的情况下,首选表单是首选,因为您只想获得一个数组而不会打扰大小或细节.
基本上这是第二种情况:
这样做的唯一好处就是你避免施法.两种形式是相同的.如果使用Object数组.即
myList.toArray() <==> toArray(new Object[0])
Run Code Online (Sandbox Code Playgroud)
现在,如果你传递一个未初始化的数组,你将得到一个NullPointerException.最好的方法是:
String[] y = x.toArray(new String[0]);
Run Code Online (Sandbox Code Playgroud)
请阅读该文件
| 归档时间: |
|
| 查看次数: |
51181 次 |
| 最近记录: |