黑马程序员技术交流社区
标题:
关于集合转换数组的问题
[打印本页]
作者:
aion2013tian
时间:
2013-12-23 10:22
标题:
关于集合转换数组的问题
public static void IO2String() {
//创建一个缓冲读取流
BufferedReader br = null;
//创建一个接收键盘输入数据的字符串变量
String str = null;
//创建一个接收最终要输出的结果的字符串类型的数组集合
List<String> as = new ArrayList<String>();
//创建从键盘接收数据的IO流对象
try {
System.out.println("请输入数据:");
br = new BufferedReader(new InputStreamReader(System.in));
//循环读取键盘录入数据
while((str = br.readLine()) != null) {
//如果读取到的录入数据是“exit”,就结束方法
if(str.equalsIgnoreCase("exit")) {
System.out.println("程序结束!!!!!");
break;
}
as = getLetterCount(str);
//利用集合的toArray方法,将集合转换成数组
String[] s = as.toArray(new String[as.size()]);//这个地方有疑问!!!!!
System.out.println("字母出现次数如下:");
for (int i = 0; i < s.length; i++) {
System.out.print(s[i] + " ");
}
// System.out.println(as);
System.out.println();
System.out.println();
System.out.println("请输入数据:");
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println(e.toString());
}
}
复制代码
其中的toArray()方法有两个,一个加参数的,一个不加参数的。
加参数的要求参数是运行时的数据类型,这一点很不明白,我创建的集合是String类型的,运行时也应该是String类型的,为什么还要new一个新的String类型的数组作为参数传入。
不加参数的返回的是Object[]数组,为什么不能强转成String[]数组
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2