A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 徐军涛 中级黑马   /  2012-11-22 17:50  /  2129 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 徐军涛 于 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);
  }

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

6 个回复

倒序浏览
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);
   }
        }
}

你试试这个看能看懂不,用你写的循环也能加进去

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 赞一个!

查看全部评分

回复 使用道具 举报
这是我在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());
                               
                        }
                       
                }
               
        }
}
}

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
list.add(x);
不细心,没看到是类型不兼容,{:soso_e109:}
回复 使用道具 举报
方法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);
    }

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 赞一个!

查看全部评分

回复 使用道具 举报
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:50
7#
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里面还有变成字符串的方法但是不建议使用。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马