Java 找不到符号'asIterator()`
我有一个文件,Java 找不到符号'asIterator()`,java,iterator,Java,Iterator,我有一个文件,adapter/new/myAdapter.java package adapter.new; import adapter.old.Person; import java.util.Enumeration; import java.util.Iterator; public class GroupAdapter implements Group { private adapter.old.Group oldgroup; public GroupAdapte
adapter/new/myAdapter.java
package adapter.new;
import adapter.old.Person;
import java.util.Enumeration;
import java.util.Iterator;
public class GroupAdapter implements Group {
private adapter.old.Group oldgroup;
public GroupAdapter(adapter.old.Group oldgroup) {
this.oldgroup = oldgroup;
}
@Override
public Iterable<Person> getPersons() {
return new Iterable<Person>() {
@Override
public Iterator<Person> iterator() {
return oldgroup.getPersons().asIterator();
}
};
}
}
package adapter.old;
import java.util.Enumeration;
import java.util.Vector;
public class Group {
private String number;
private String name;
private Vector<Person> persons;
public Group(String number, String name) {
this.number = number;
this.name = name
persons = new Vector<>();
}
public Enumeration<Person> getPersons() {
return persons.elements();
}
}
当我尝试编译此文件时:
javac old/*.java new/*.java
我得到这个错误:
new/GroupAdapter.java:41: error: cannot find symbol
return oldgroup.getPersons().asIterator();
^
symbol: method asIterator()
location: interface Enumeration<Person>
1 error
new/GroupAdapter.java:41:错误:找不到符号
返回oldgroup.getPersons().asIterator();
^
符号:方法asIterator()
位置:接口枚举
1错误
我做错了什么?我或多或少地遵循了一个教程,但我不知道哪里出了问题。在java9中,枚举类中添加了一个迭代器方法。检查您正在使用的javac版本
java9中的枚举类中添加了一个迭代器方法。检查您正在使用的javac版本
Enumeration.asIterator()自Java 9以来就存在。您使用哪一版本的Java?@jbnitet当我在终端中使用
Java-version
时,它会说openjdk版本“11.0.4”2019-07-16 openjdk运行时环境(build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3)openjdk 64位服务器虚拟机(build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3,混合模式,共享)
。我是否正确导入了它?javac-version
说明了什么?@JBNizetjavac 1.8.0\u 144
所以您得到了答案…枚举.asIterator()自Java 9以来就存在。您使用哪一版本的Java?@jbnitet当我在终端中使用Java-version
时,它会说openjdk版本“11.0.4”2019-07-16 openjdk运行时环境(build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3)openjdk 64位服务器虚拟机(build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3,混合模式,共享)
。我导入的正确吗?javac-version
怎么说?@jbnitetjavac 1.8.0144
所以你有你的答案……当我在终端中执行java-version
时,它说的是openjdk version“11.0.4”2019-07-16 openjdk运行时环境(构建11.0.4+11-post-Ubuntu-1ubuntu218.04.3)openjdk 64位服务器虚拟机(build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3,混合模式,共享)
我是否正确导入了它?不是java-version
,javac-version
(注意编译器的c)@user2719875您确定package adapter.new;
没有发出编译错误吗?当我在终端中执行java-version
时,它会显示openjdk version“11.0.4”2019-07-16 openjdk运行时环境(build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3)openjdk 64位服务器虚拟机(build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3,混合模式,共享)
我是否正确导入了它?不是java-version
,javac-version
(注意编译器的c)。@user2719875你确定包适配器.new;
不会发出编译错误吗?