为什么会出现“应将接收器表达式替换为类型限定符”?

时间:2019-04-13 19:27:36

标签: java process

$ javac Main.java 
    Main.java:27: error: illegal static interface method call
        ProcessHandle.current().allProcesses().mapToLong(w->w.pid()).forEach(System.out::println);
                                            ^
      the receiver expression should be replaced with the type qualifier 'ProcessHandle'
    1 error

为什么会出现“应该用类型限定符'ProcessHandle'替换接收方表达式”?

我该怎么办?谢谢。


import java.lang.System;
import java.io.File;
import java.io.IOException;
import java.util.stream.Stream;

public class Main {

    public static void main(String args[]){

    System.out.println("visible processes pids are: ");
    ProcessHandle.current().allProcesses().mapToLong(w->w.pid()).forEach(System.out::println);  

    }
}

1 个答案:

答案 0 :(得分:0)

您想要在这里实现什么?要求当前的ProcessHandle然后使用它查询allProcesses似乎没有多大意义。这两个都是静态方法。您可能只想省略“ .current()”。