小编Joh*_*her的帖子

来自 Lambda 表达式的有效 void Return 语句(示例:Runnable)

在 Java 中看到一些关于具有void返回类型的函数式接口的奇怪行为。

有人可以解释为什么task5task6下面的声明编译吗?

public class Test {

    private static int counter;

    private static void testRunnable() {
        /* Runnable has a void return type so the following won't compile.
        * Error message is Void methods cannot return a value. (Java 67108969) Makes sense... */
        // Runnable task1 = () -> { return counter; };
        // Runnable task2 = () -> { return counter + 1; };
        // Runnable task3 = () -> counter;
        // …
Run Code Online (Sandbox Code Playgroud)

java lambda unary-operator runnable

4
推荐指数
1
解决办法
125
查看次数

特殊标识符:serialVersionUID 和 serialPersistentFields

我了解这些字段是什么以及如何使用它们,但我想知道:

Java 编译器如何在其编译步骤中实际处理这样的特殊字段?它真的只根据名称查找变量吗?

这看起来很像非 Java... 除了serialVersionUIDand 之外serialPersistentFields,还有其他的吗?

java serialization javac serialversionuid

3
推荐指数
1
解决办法
100
查看次数