Eclipse : transform static method invocation to a static import

gontard picture gontard · Mar 22, 2013 · Viewed 7.5k times · Source

Is there a way to transform automatically this static method invocation (Arrays.asList):

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);
    }
}

to this invocation using a static import:

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);
    }
}

I know that i can configure the code completion using this Window » Preferences » Java » Editor » Content Assist » Favoritesas described in this answer.

My question is about transforming an existing static method invocation. Ideally, i would like do not have to configure a "favorite import".

Answer

Martin Ellis picture Martin Ellis · Mar 22, 2013

Put the cursor on the method name (asList) and press Ctrl-Shift-M.

This is the default keyboard shortcut for the 'Add Import' command. You can also find the command on the 'Source' menu.