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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

今天抄视频中的代码,发现一个问题,自己不清楚原理!毕老师视频中的有这些代码是复制粘贴的,这样没有问题,自己写的也没有问题。今天自己在复制时,不小心摁成了剪切,然后就继续粘贴了几次,心里觉得没有影响,可编译通不过。
源代码:
import java.util.*;

class  CollectionDemo
{
    public static void main(String[] args)
    {
        method_get();
    }
    public static void method_get()
    {
        ArrayList al1 = new ArrayList();
        al1.add("java01");//这4句都是我剪切、粘贴后修改的语句。我是将 al1.add("java01");这句剪切后,然后再粘贴了4次,将后边的修改了,结果出错了。
        al2.add("java02");
        al3.add("java03");
        al4.add("java04");

        ArrayList al2 = new ArrayList();
        al2.add("java01");
        al2.add("java02");
        al2.add("java05");
        al2.add("java06");

        sop("al:"+al1);
        sop("al2:"+al2);
    }
    public static void sop(Object obj)
    {
        System.out.println(obj);
    }
}
编译结果不通过!
D:\itheima\day14>javac CollectionDemo.java
CollectionDemo.java:14: 找不到符号
符号: 变量 al2
位置: 类 CollectionDemo
                al2.add("java02");
                ^
CollectionDemo.java:15: 找不到符号
符号: 变量 al3
位置: 类 CollectionDemo
                al3.add("java03");
                ^
CollectionDemo.java:16: 找不到符号
符号: 变量 al4
位置: 类 CollectionDemo
                al4.add("java04");
                ^
最后我自己又重新把那段敲了一遍,发现编译、运行都没有问题,这时什么原理?我用的是EditPlus软件,求大神解释。虽然是误操作,但我想知道原理。。。

评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

10 个回复

正序浏览
好像是这么回事
回复 使用道具 举报
不明觉厉
回复 使用道具 举报
zgjswp 发表于 2015-4-25 19:06
没有定义集合对象就想用当然出错了

恩恩,是我自己改错了,不是剪切的问题。
回复 使用道具 举报
zgjswp 中级黑马 2015-4-25 19:06:47
8#
没有定义集合对象就想用当然出错了
回复 使用道具 举报
ixue 初级黑马 2015-4-25 17:11:55
7#
这个我倒看得明白
回复 使用道具 举报
曾宇 发表于 2015-4-25 14:03
从上往下,我只看到al1和al2的对象。
在你调用al2,al3,al4之前,并没有这些变量,所以编译异常,找不到指定 ...

是我自己弄错了,不好意思啊,浪费大家时间了!:Q
回复 使用道具 举报
l763631191 发表于 2015-4-25 14:04
ArrayList al1 = new ArrayList();
        al1.add("java01");//这4句都是我剪切、粘贴后修改的语句。 ...

额,我看错了,粗心啊。。。多谢!
回复 使用道具 举报
额,我错了,看错了!多谢。。。
回复 使用道具 举报
   ArrayList al1 = new ArrayList();
        al1.add("java01");//这4句都是我剪切、粘贴后修改的语句。我是将 al1.add("java01");这句剪切后,然后再粘贴了4次,将后边的修改了,结果出错了。
        al2.add("java02");
        al3.add("java03");
        al4.add("java04");
我靠 都是al1,才行,你都没声明al2,al3,al4,你是怎么用的?
回复 使用道具 举报
从上往下,我只看到al1和al2的对象。
在你调用al2,al3,al4之前,并没有这些变量,所以编译异常,找不到指定的符号
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马