微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Java导入语句

我在debian 5上使用 java

java version “1.6.0_20”
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) Client VM (build 16.3-b01,mixed mode,sharing)

为什么在以下之间有区别?

情况1:

import java.util.*;

情况2:

import java.util.*;
import java.util.Arrays;
import java.util.List;

为什么第一种情况不包括第二种情况?

当我明确导入数组和列表时,代码只会编译.

码:

import java.util.*;
import java.util.Arrays;
import java.util.List;

public class Test {
        public static void main (String[] args) {
                List<Integer> i = new ArrayList(Arrays.asList(1,2,3,4,5,6,7,8,9,10));
                List<Integer> j = new ArrayList();
                ListIterator<Integer> n = i.listIterator(i.size());

                while(n.hasPrevIoUs()) {
                        j.add(n.prevIoUs());
                }

                println(j);

        }

        static void println(Object o) {
                System.out.println(o);
        }

        static void print(Object o) {
                System.out.print(o);
        }

}

当我注释第二和第三个import语句时,我得到的错误是:

nattyp@debian:~/dev/java$javac Test.java
Test.java:7: cannot find symbol
symbol  : method asList(int,int,int)
location: class Arrays
                List<Integer> i = new ArrayList(Arrays.asList(1,10));
                                                      ^
Note: Test.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error
nattyp@debian:~/dev/java$

解决方法

我只是编译它,它编译没有隐式导入,可能你看到一个陈旧的缓存或你的IDE的东西.

你是否尝试从命令行编译?

我有完全相同的版本:

可能你在想这个警告是一个错误.

UPDATE

看起来您正在尝试编译的目录(可能之前创建)中有一个Arrays.class文件.这就是为什么显式导入解决了这个问题.尝试将源代码复制到一个干净的新目录,然后重试.你会看到这次没有错误.或者,清理您的工作目录并删除Arrays.class

原文地址:https://www.jb51.cc/java/126672.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐