小编吴毅凡*_*吴毅凡的帖子

如何在java 8 lambda表达式中获取方法参数名称?

如何获得Java中8的方法参数名称使用反射? 我知道使用javac -parameters参数可以将参数名保存在*.class文件中.但它在lambda表达式中无效?

例:

import java.lang.reflect.Method;
import java.lang.reflect.Parameter;

public class MyTest {
    public static void main(String[] args) {
        for(Method m : Test.class.getDeclaredMethods()) {
            System.out.println(m.getName());
            for(Parameter p : m.getParameters()) {
                System.out.println(" => " + p.getName());
            }
        }
    }
}
interface MyInterface {
    Object doSomething(int a, int b);
}

class Test {

    private void bar(MyInterface iface) {
    }

    public void foo() {
        bar((x, y) -> null);
    }

}
Run Code Online (Sandbox Code Playgroud)

当我做

javac -parameters MyTest.java
java MyTest
Run Code Online (Sandbox Code Playgroud)

它打印

bar
 => iface
foo …
Run Code Online (Sandbox Code Playgroud)

java lambda java-8

5
推荐指数
1
解决办法
1997
查看次数

如何在不重新启动 dockerd 的情况下为 docker 重新创建 iptables 规则?

有时我必须刷新 iptables 的所有规则,如果刷新前没有备份,我将无法恢复规则。我必须重新启动dockerd才能重新创建规则。

iptables docker

5
推荐指数
0
解决办法
1458
查看次数

标签 统计

docker ×1

iptables ×1

java ×1

java-8 ×1

lambda ×1