Can';t在java 8中导入java.util.stream
导入Can';t在java 8中导入java.util.stream,java,collections,java-8,java-stream,Java,Collections,Java 8,Java Stream,导入java.util.stream.*时出现问题 编译代码会给我一个流() “找不到符号错误” 这是我的进口清单 import java.util.stream.*; import java.util.*; import java.lang.String; import java.util.Arrays; import java.nio.file.*; import java.io.IOException; 这是我正在编译的代码 List<Beverage> l = cant
java.util.stream.*时出现问题代码>
编译代码会给我一个流()
“找不到符号错误”
这是我的进口清单
import java.util.stream.*;
import java.util.*;
import java.lang.String;
import java.util.Arrays;
import java.nio.file.*;
import java.io.IOException;
这是我正在编译的代码
List<Beverage> l = cantine.stream()
.filter(p -> p.name.equals(nam))
.collect(Collectors.toList());
List l=cantine.stream()
.filter(p->p.name.equals(nam))
.collect(Collectors.toList());
重要提示:我确实知道“找不到符号错误”是什么,所以请不要盲目关闭此问题
完整代码供参考
import java.util.stream.*;
import java.util.*;
import java.lang.String;
import java.util.Arrays;
import java.nio.file.*;
import java.io.IOException;
public class Enoteca{
Map<String,Beverage> cantine;
public Enoteca(){
this.cantine = new HashMap<String,Beverage>();
}
public List<Beverage> byName(String nam){
List<Beverage> l = cantine.stream()
.filter(p -> p.name.equals(nam))
.collect(Collectors.toList());
}
public static void main(String[] args){
Enoteca e = new Enoteca();
for(String s: args){
Beverage b = new Beverage(s,"1987");
e.cantine.put(s,b);
}
System.out.println(e.cantine);
}
}
class Beverage{
String name;
String year;
public Beverage(String name,String year){
this.name = name;
this.year = year;
}
public String getName(){
return name;
}
@Override
public String toString(){
return name + " " +year;
}
}
import java.util.stream.*;
导入java.util.*;
导入java.lang.String;
导入java.util.array;
导入java.nio.file.*;
导入java.io.IOException;
公共级Enoteca{
地图坎廷;
公共Enoteca(){
this.cantine=new HashMap();
}
公共列表按名称(字符串nam){
列表l=cantine.stream()
.filter(p->p.name.equals(nam))
.collect(Collectors.toList());
}
公共静态void main(字符串[]args){
Enoteca e=新的Enoteca();
for(字符串s:args){
饮料b=新饮料(s,“1987”);
e、 (s,b);
}
系统输出打印(e.cantine);
}
}
高级饮料{
字符串名;
弦年;
公共饮料(字符串名称、字符串年份){
this.name=名称;
今年=年;
}
公共字符串getName(){
返回名称;
}
@凌驾
公共字符串toString(){
返回名称+“”+年份;
}
}
编译器是正确的<代码>映射
没有流()
方法。映射的和方法返回集合,但映射本身不返回
既然您想要一个
列表
,我猜您想要的是cantine.values().stream()
您是如何编译的,请提及详细信息?使用javac
或任何框架或任何IDE
?提及他们的版本细节。cantine的类型是什么?您使用的是哪个IDE?您是否在IDE中进行了正确的配置?cantine
的类型是什么?Map
没有stream()
方法。映射的键集、值和entrySet方法返回的集合有,但映射本身没有。@VGR,听起来应该是答案!值得一提的是,与OP的假设相反,包含import java.util.stream.*代码>语句是完全不相关的。同样,作为旁注,没有理由包括import java.lang.String代码>。我包含了上面所有的导入,因为之前的一个线程被一个版主关闭,他告诉我要包含java.util.stream.*;即使我提到它是不相关的,我也加入了它,只是为了避免线程在没有答案的情况下再次关闭。