Rückgabe einer Referenz auf ein veränderliches Objekt gespeicherten Wert in einer der Objekt-Felder legt die interne Darstellung des Objekts

Ich bin immer diese Fehlermeldung bei der Ausführung von checkstyle auf meinen code auf die folgenden Zeilen:

@Override
public String[] getDescriptions() {
    return DESCRIPTIONS;
}

aber BESCHREIBUNGEN IS NOT verändert werden. Es ist definiert als:

private static final String[] DESCRIPTIONS = new String[NUM_COLUMNS];

static {
   //In a loop assign values to the array.
   for (int i = 0; i < NUM_COLUMNS; ++i) {
       DESCRIPTIONS[i] = "Some value";
   }
}

Dies ist die komplette Fehlermeldung:

"Returning a reference to a mutable object value stored in one 
 of the object's fields exposes the internal representation of
 the object. If instances are accessed by untrusted code, and 
 unchecked changes to the mutable object would compromise security
 or other important properties, you will need to do something 
 different. Returning a new copy of the object is better approach
 in many situations."

Verwandte Frage: Link

  • Die Objekte, die sich in BESCHREIBUNGEN sind veränderlich.
InformationsquelleAutor user1071840 | 2013-12-18
Schreibe einen Kommentar