黑马程序员技术交流社区
标题:
代码问题
[打印本页]
作者:
徐军涛
时间:
2012-11-22 17:50
标题:
代码问题
本帖最后由 徐军涛 于 2012-11-23 20:56 编辑
List list = new ArrayList();
//同样是添加2个元素为什么注释的地方会报错?
// for(int x =1;x<3;x++)
// {
// list.add(x);
// }
list.add("1");
list.add("2");
final int size =list.size();
String[] arr = (String[]) list.toArray(new String[size]);
for(String a:arr){
System.out.println(a);
}
作者:
坚持远方
时间:
2012-11-22 18:04
import java.util.*;
class Array
{
public static void main(String[] args)
{
List<String> list = new ArrayList<String>();
//同样是添加2个元素为什么注释的地方会报错?
for(int x =1;x<3;x++)
{
list.add(x+"");
}
list.add("3");
list.add("4");
final int size =list.size();
String[] arr = (String[]) list.toArray(new String[size]);
for(String a:arr){
System.out.println(a);
}
}
}
你试试这个看能看懂不,用你写的循环也能加进去
作者:
孙万利
时间:
2012-11-22 18:31
这是我在MyEclipse6.0中写的 list实例,利用for循环添加是没有问题的,请参考
import java.util.ArrayList;
import java.util.Iterator;
public class Text {
/**
* 4、 创建一个类Sample,在main方法中定义一个ArrayList的集合类,
* 并向集合中添加任意多个同一种类型的元素,利用Iterator接口,
* 遍历集合中的所有元素
* @param args
*/
public static void main(String[] args) {
Sample s = new Sample();
s.main();
}
static class Sample{
//通过Iterator接口进行迭代
public static void main(){
//创建一个集合容器ArrayList
ArrayList list = new ArrayList();
for(int x=1;x<3;x++){
list.add(x);
}
//添加元素
//list.add("java");
//list.add(".net");
//list.add("php");
//list.add("c");
//list.add("vb");
//list.add("jsp");
Iterator it = list.iterator();
for(int x=0;x<list.size();x++){
if(it.hasNext()){
System.out.println(it.next());
}
}
}
}
}
作者:
徐军涛
时间:
2012-11-22 19:00
list.add(x);
不细心,没看到是类型不兼容,{:soso_e109:}
作者:
韩俊杰
时间:
2012-11-22 19:54
方法add(object)属于原始类型List。应该将通用类型List<E>的引用参数化,所以第一句话应该改成下面这样的,
List<String> list = new ArrayList<String>();
因为参数类型是String型,而for循环中的x是int类型的,所以就会出现List<String>中的方法add(int,String)对于
参数(int)不适用,所以应该改成list.add(x+"");
List<String> list = new ArrayList<String>();
// 同样是添加2个元素为什么注释的地方会报错?
for(int x =1;x<3;x++)
{
list.add(x+"");
}
list.add("1");
list.add("2");
final int size =list.size();
String[] arr = (String[]) list.toArray(new String[size]);
for(String a:arr){
System.out.println(a);
}
作者:
张硕
时间:
2012-11-23 08:38
List list = new ArrayList();
// for(int x =1;x<3;x++)
// {
// list.add(x+"");
// }
list.add("1");
list.add("2");
final int size =list.size();
String[] arr = (String[]) list.toArray(new String[size]);
for(String a:arr){
System.out.println(a);
}
for循环里面你赋值的是int型的数据,而你要赋值字符串怎么可能不报错呢,就是可以考虑把它们变为字符串,最简单的方法就是 list.add(x+""),因为任何类型和字符串运算都会变成字符串,这样就可以赋值了。string里面还有变成字符串的方法但是不建议使用。
作者:
张硕
时间:
2012-11-23 08:38
List list = new ArrayList();
// for(int x =1;x<3;x++)
// {
// list.add(x+"");
// }
list.add("1");
list.add("2");
final int size =list.size();
String[] arr = (String[]) list.toArray(new String[size]);
for(String a:arr){
System.out.println(a);
}
for循环里面你赋值的是int型的数据,而你要赋值字符串怎么可能不报错呢,就是可以考虑把它们变为字符串,最简单的方法就是 list.add(x+""),因为任何类型和字符串运算都会变成字符串,这样就可以赋值了。string里面还有变成字符串的方法但是不建议使用。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2