集合:未定义的k,v在Map中

时间:2015-04-26 13:19:15

标签: java eclipse dictionary hashmap java-8

我正在学习这个site

的收集

那个人举了个例子

import java.util.HashMap;
import java.util.Map;

public class MapTester {

public static void main(String[] args) {

// keys are Strings
// objects are also Strings
Map<String, String> map = new HashMap<>();
fillData(map);

// write to command line
map.forEach((k, v) -> System.out.printf("%s %s%n", k, v));

// add and remove from the map
map.put("iPhone", "Created by Apple");
map.remove("Android");

// write again to command line
map.forEach((k, v) -> System.out.printf("%s %s%n", k, v));

}

private static void fillData(Map<String, String> map) {
map.put("Android", "Mobile");
map.put("Eclipse IDE", "Java");
map.put("Eclipse RCP", "Java");
map.put("Git", "Version control system");

}

} 

虽然在上面的程序中,我可以理解k和v变量是未定义的或不在本地存在。

map.forEach((k, v) -> System.out.printf("%s %s%n", k, v));

并面对同一行的问题。

请帮我学习收藏品。 enter image description here enter image description here

3 个答案:

答案 0 :(得分:3)

更正项目属性 Java编译器

不起作用:

enter image description here

<强>使用:

enter image description here

答案 1 :(得分:0)

它在我的系统上工作正常。你能检查一下你使用的是JDK8吗?在JAVA 8中引入了Lamdas支持。您可以使用java --version来测试Java版本。

答案 2 :(得分:0)

回答这个问题

您需要使用4.4(Luna)才能获得Java 8支持。

对于稍后检查过的人可能会有用。

谢谢@ greg-449