Use asList to create a list from array

This page is not yet available in Spanish. We are working on its translation.
If you have any questions or feedback about our current translation project, feel free to reach out to us!

Metadata

ID: java-best-practices/arrays-aslist

Language: Java

Severity: Warning

Category: Performance

Description

Using Arrays.asList is much faster and cleaner than creating an array by iterating over the values.

Non-Compliant Code Examples

class Main {
    public List<Integer> getListOfSomething() {
        List<Integer> myList = new ArrayList<>();
        Integer[] myArray = getArrayFromCall();
        
        foo();
        for (int i = 0; i < myArray.length; i++) {
            myList.add(myArray[i]);
        }
        return myList;
    }
}
class Main {
    public List<Integer> getListOfSomething() {
        Integer[] myArray = getArrayFromCall();
        List<Integer> myList = new ArrayList<>();
        foo();
        for (int i = 0; i < myArray.length; i++) {
            myList.add(myArray[i]);
        }
        return myList;
    }
}

Compliant Code Examples

class Main {
    public List<Integer> getListOfSomething() {
        Integer[] myArray = getArrayFromCall();
        return Arrays.asList(myArray);
    }
}
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Analysis