46得票4回答
函数式接口是否可以有默认方法?

为什么我不能创建一个带有默认方法实现的@FunctionalInterface?@FunctionalInterface public interface MyInterface { default boolean authorize(String value) { r...

7得票2回答
有没有一个在Java 8之前可用的函数接口,可以替换java.util.function.Consumer<T>的功能?

为了迎接Java 8的到来,我正在尝试以一种有利于使用lambda表达式的方式编写代码。 我需要一个具有单个方法的函数接口,该方法接受某种类型T的一个参数并返回void。这是java.util.function.Consumer 的accept()方法的签名,但当然我现在还不能使用它。 在...

12得票5回答
如何从一个映射中生成具有不同值的映射(并使用BinaryOperator使用正确的键)?

我有一个名为Map&lt;K, V&gt;的地图,我的目标是删除重复的值并输出完全相同的结构Map&lt;K, V&gt;。如果找到重复的值,则必须从保存这些值的两个键(k1和k2)中选择一个键(k),因此,假设可以使用BinaryOperator&lt;K&gt;来从k1和k2中提供k。 输...

38得票2回答
在Java EE容器中使用Java 8并行流是否被反对?

鉴于在Java EE容器中生成线程是不被鼓励的,那么在Java EE内部使用可能会生成线程的Java 8并行流是否也不被鼓励呢?请参考此处和此处。

27得票2回答
Java类型推断:Java 8中引用不明确,但在Java 7中不会。

假设我们有两个类。一个是空类 Base,另一个是这个类的子类 Derived。 public class Base {} public class Derived extends Base {} 然后我们有另一个类中的几种方法: import java.util.Collection...

34得票2回答
为什么使用反射来访问类成员,而MethodHandle更快?

随着Java 7的发布,MethodHandle也随之问世。它允许用户像使用其底层字节码一样调用方法。特别地,MethodHandles.Lookup类提供了工厂方法来创建方法句柄以访问类成员: Lookup对象上的工厂方法对应于所有主要的方法、构造函数和字段用例。由工厂方法创建的每个...

7得票4回答
将Java Map枚举键转换为Map字符串键

我有以下地图: Map&lt;DataFields, String&gt; myMap; 但我需要将其转换为以下内容: Map&lt;String, String&gt; myMap; 我最好的但仍无法编译的尝试是: myMap.keySet().stream().map(k -...

28得票5回答
在Java 8中检查自定义对象列表是否具有相同属性值

我是Java 8的新手。我有一个由类型为A的自定义对象组成的列表,其中A的结构如下: class A { int id; String name; } 我想确定列表中的所有对象是否具有相同的名称。我可以通过迭代列表并捕获名称的前一个和当前值来实现。在这种情况下,我发现...

13得票4回答
Java 8编译的Lambda表达式能否向下兼容之前版本的Java运行时?

为了减少由大量匿名类型实例化引起的混乱,我正在探索利用Java 8 lambdas的可能性。 在生产环境中使用Java 8和lambdas之前,一个重要的考虑因素是:使用lambda表达式的JDK8编译代码能否在早期版本的Java运行时上执行。我特别关注JRE6和JRE7作为目标平台。 一...

21得票3回答
如何从System.in / System.console()构建Java 8流?

给定一个文件,我们可以使用如下方式将其转换为一系列字符串的流:Stream&lt;String&gt; lines = Files.lines(Paths.get("input.txt")) 我们能否以类似的方式从标准输入中构建出一行流?