我在Ubuntu 14上使用Java 7。
$ java -version
java version "1.7.0_79"
OpenJDK Runtime Environment (IcedTea 2.5.6) (7u79-2.5.6-0ubuntu1.14.04.1)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)
我在LinkedList类上编写了一个非常简单的代码,如下所示:
import java.util.*;
public class First
{
//@SuppressWarnings({ "rawtypes", "unchecked" })
public static void main(String[] args)
{
LinkedList ll = new LinkedList();
ll.add(5);
System.out.println(ll);
}
}
我的编译器产生如下错误:
$ javac First.java
First.java:8: error: cannot find symbol
ll.add(5);
^
symbol: method add(int)
location: variable ll of type LinkedList
1 error
但是,相同的代码在同一Ubuntu中安装的Eclipse中也能完美地工作。并且也可以在Windows中工作。
如果我在Ubuntu中显式导入LinkedList类,则代码也将在ubuntu中开始工作:
import java.util.LinkedList;
public class First
{
//@SuppressWarnings({ "rawtypes", "unchecked" })
public static void main(String[] args)
{
LinkedList ll = new LinkedList();
ll.add(5);
System.out.println(ll);
}
}
$ javac First.java
Note: First.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
$ java First
[5]
$
在Ubuntu中,仅使用ArrayList类不需要显式实现ArrayList。
import java.util.*;
public class First
{
//@SuppressWarnings({ "rawtypes", "unchecked" })
public static void main(String[] args)
{
ArrayList ll = new ArrayList();
ll.add(5);
System.out.println(ll);
}
}
$ javac First.java
Note: First.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
$ java First
[5]
$
我不明白这是什么问题。
我认为您的类名之一LinkedList
存在于您当前的First.java
保存目录中。
因为我认为控制台错误
First.java:8: error: cannot find symbol //method definition not found
ll.add(5);
^
symbol: method add(int)
location: variable ll of type LinkedList
1 error
这里没有找到方法定义,但Class LinkedList
编译器找到了定义,并且在LinkedList
该类中,没有类似的方法add()
。
因此,我想LinkedList
您的Current目录中命名的类必须存在。因此,编译器选择该类作为该行的参考。
LinkedList ll = new LinkedList();
但没有add()
找到方法的定义。
谢谢
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句