从Java 8开始不再提供哪些主要功能
答案 0 :(得分:10)
请参见此处:Compatibility Guide for JDK 8。
Java SE 8和Java SE 7之间的不兼容性:
在以前的版本中,
Collection.removeAll(Collection)
和retainAll(Collection)
将 如果集合本身为空,则静默忽略null
参数。 从此版本开始,集合将始终抛出NullPointerException
,如果将null作为参数提供。
因此您的程序可以只包含:
List<String> list = new ArrayList<>();
list.removeAll(null);
它将在Java 7中运行,而不是在Java 8中运行。
这是一个示例,如果您通过上面的链接获得了类似的不兼容程序,则会找到其他几种方式。