Do not return internal array

Metadata

ID: java-best-practices/return-internal-array

Language: Java

Severity: Warning

Category: Best Practices

Description

Avoid returning an array that was defined as a class member. If you want to return an array or the values of the array that is a class member, consider returning a copy of the array.

Non-Compliant Code Examples

public class SecureSystem {
    String foo;
    UserData [] ud;
    Object bar;
    public void something() {

    }
    public UserData [] getUserData() {
        return ud;
    }
    public void somethingElse() {
        
    }
}

Compliant Code Examples

public class SecureSystem {
    String foo;
    
    Object bar;
    public void something() {

    }
    public UserData [] getUserData() {
        UserData [] ud;
        return ud;
    }
    public void somethingElse() {
        
    }
}