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

相关文章

ArrayList简介:ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增...
一、进程与线程 进程:是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。 线程...
本文为博客园作者所写:&#160;一寸HUI,个人博客地址:https://www.cnblogs.com/zsql/ 简单的一个类...
#############java面向对象详解#############1、面向对象基本概念2、类与对象3、类和对象的定义格式4、...
一、什么是异常? 异常就是有异于常态,和正常情况不一样,有错误出错。在java中,阻止当前方法或作用域...
Collection接口 Collection接口 Collection接口 Collection是最基本的集合接口,一个Collection代表一组...