Eclipse删除静态导入

gon*_*ard 5 java eclipse automated-refactoring

使用eclipse,我可以轻松地将静态调用转换为

import java.util.Arrays;
import java.util.List;

public class StaticImport {
    public static void main(String[] args) {
        List<String> list = Arrays.asList("hello", "world");
        System.out.println(list);
    }
}
Run Code Online (Sandbox Code Playgroud)

到静态导入:

import static java.util.Arrays.asList;

import java.util.List;

public class StaticImport {
    public static void main(String[] args) {
        List<String> list = asList("hello", "world");
        System.out.println(list);
    }
}
Run Code Online (Sandbox Code Playgroud)

将光标放在方法名称(asList)上,然后按Ctrl-Shift-MAdd Import)。

现在,由于某些重构原因,我想删除静态导入并返回第一个代码:

List<String> list = Arrays.asList("hello", "world");
Run Code Online (Sandbox Code Playgroud)

请问有一个快捷的方法吗?

Kon*_*kov 2

您不能使用快捷方式删除 ( static)import语句,除非它未被使用

因此,首先注释掉该语句:

//List<String> list = asList("hello", "world");
Run Code Online (Sandbox Code Playgroud)

Ctrl然后,激活组织导入语句( ++ )的快捷方式,未使用Shift的语句将被自动删除。Oimport

最后,取消注释您首先注释的行并重构它以便编译:

List<String> list = Arrays.asList("hello", "world");
Run Code Online (Sandbox Code Playgroud)