为了账号安全,请及时绑定邮箱和手机立即绑定

求大神提示00

//测试containsAll的方法
    public void testContainsAll(){
        System.out.println("请输入您要搜索书籍的数量(=<6本):");
        int num = console.nextInt();
        while(true){
        if(num<7&&num>0){
        for(int i=0;i<num;i++){
            System.out.print("请输入第"+i+1+"本书的名称:");
            //获取输入的书名
            String name = console.next();
            //创建一个 Book对象接收输入的书名
//            Book book = new Book();
//            book.setName(name);
            //创建一个集合接收书名
            ArrayList<List<String>> books = new ArrayList<List<String>>();
            books.add(name);//此处报错
//            //创建一个数组接收书名
//            Collection[] books = {};
//            books[i] = (Collection)book;
            BookToSelect.containsAll(books.get(i));
        }
        }else{
        System.out.println("输入错误!请重新输入您要搜索书籍的数量:");
        continue;
        }
        }
    }
    为啥add()用不了啊?


正在回答

6 回答

BookToSelect.containsAll(books.get(i));

containsAll所需参数是集合,而不是字符串

0 回复 有任何疑惑可以回复我~
#1

moummm 提问者

非常感谢!
2017-02-26 回复 有任何疑惑可以回复我~

//测试containsAll的方法
    public void testContainsAll(){
        System.out.println("请输入您要搜索书籍的数量(=<6本):");
        int num = console.nextInt();
        int k;
        //创建一个集合接收书名
        List<String> books = new ArrayList<String>();
        if(num<7&&num>0){
        for(int i=0;i<num;i++){
            k = i+1;
            System.out.print("请输入第"+k+"本书的名称:");
            //获取输入的书名
            String name = console.next();
            //创建一个 Book对象接收输入的书名
            Book book = new Book();
            book.setName(name);
            books.add(name);
//            //创建一个数组接收书名
//            Collection[] books = {};
//            books[i] = (Collection)book;
        }
        }else{
        System.out.println("输入错误!请重新输入您要搜索书籍的数量:");
        }
        BookToSelect.containsAll(books);
        }

这编译器没报错了,可是为啥这个ContainsAll()方法还是用不了?

0 回复 有任何疑惑可以回复我~

结果还是一样的

0 回复 有任何疑惑可以回复我~

拿改成List<String> books = new ArrayList<String>();


0 回复 有任何疑惑可以回复我~

还是错了

0 回复 有任何疑惑可以回复我~

错误原因 : 要添加的变量name 和 变量books指定的泛型类型不匹配。

指定的泛型类型为 : List<String>,即指定泛型为String类型的列表

要添加的类型 : String类型

第15行 :   ArrayList<List<String>> books = new ArrayList<List<String>>();

改成 :   ArrayList<String> books = new ArrayList<String>();


1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409790    人
  • 解答问题       4340    个

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

进入课程

求大神提示00

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信