当前位置: 代码迷 >> J2SE >> 关于List接口使用的一个有关问题
  详细解决方案

关于List接口使用的一个有关问题

热度:89   发布时间:2016-04-24 00:54:42.0
关于List接口使用的一个问题
Java code
import java.util.ArrayList ;import java.util.List ;public class ArrayListDemo04{    public static void main(String args[]){        List<String> allList = null ;        allList = new ArrayList<String>() ;    // 指定操作的泛型为String        allList.add("Hello") ;    // 此方法由Collection接口而来        allList.add(0,"World") ;    // 在第一个位置上添加新的内容        allList.add("MLDN") ;    // 向Collection中加入内容        allList.add("www.mldn.cn") ;        String str[] = allList.toArray(new String[]{}) ;    // 指定好类型        System.out.print("指定数组类型:") ;        for(int i=0;i<str.length;i++){            System.out.print(str[i] + "、") ;        }        System.out.print("\n返回对象数组:") ;        Object obj [] = allList.toArray() ;    // 返回Object类型        for(int i=0;i<obj.length;i++){            String temp = (String)obj[i] ;    // 进行向下转型            System.out.print(temp + "、") ;        }    }};

代码中这行不是很理解“String str[] = allList.toArray(new String[]{}) ”,JDK中给的解释是<T> T[] toArray(T[] a),这个地方“new String[]{}”既然是制定一个对象为什么要加大括号呢?

------解决方案--------------------
因为你的string数组大小不确定嘛,所以初始化要那样了
你也可以这样 String str[] = allList.toArray(new String[5]) 但是allList中的元素是不确定的,所以运行时会报错
  相关解决方案