Code-Schnipsel: ist das sinnvoll oder dumm?

Status
Nicht offen für weitere Antworten.

hdi

Top Contributor
Hallo,
wie soll ich sagen, ich habe gerade eine Klasse geschrieben und wenn ich mir jetzt so die add()-methode
ansehe, weiss ich nicht so recht ob man sowas überhaupt so machen sollte.
D.h. meine Frage ist ganz einfach, ob das okay so ist oder total sinnlos bzw sogar schlecht/dumm, weil ich
jetzt nicht wirklich weiss ob das guter Programmierstil ist:

Code:
public class Log {

    private static ArrayList<String> log = new ArrayList<String>();

    public static void add(String message) {

        log.ensureCapacity(log.size() + 1);
        log.add(message);
        log.trimToSize();
    }
}

Es geht eben um add() und die Sache, dass ich die ArrayList nicht mit einem Wert initialisere, sondern immer
wenn was hinzugefügt wird sicherstelle, dass Platz ist.

Konkret sind es eig. 2 Fragen:

1)
log.ensureCapacity(log.size() + 1);

bei jedem add-Aufruf, ist das okay oder erzeugt das vllt zuviel Ressourcen-Leichen oder sonst was nach der Zeit?

2)
trimToSize()

macht das überhaupt Sinn? Ich meine wofür ist diese Methode denn wirklich gedacht, man kann doch per size() immer rausfinden wieviel wirklich drin ist? Also was soll die und hat es Sinn, dass ich die da verwende?

Danke
 
Nimm nur das log.add(). Bis auf echte Spezialfälle brauchst du die anderen beiden Methoden nicht.

Besserer Programmierstil wäre, deine log-Variable als List zu definieren:

Code:
private static List<String> log = new ArrayList<String>();

Dann kannst du die konkrete Implementierung (ArrayList) später bei Bedarf einfach durch eine andere (hier wäre LinkedList gar nicht so dumm) ersetzen.
 
Wenn kein Platz mehr da ist macht java das so das der Platz immer verdoppelt wird. da musst nicht drauf achten.

10....20...40....80....160...etc.

zu 2 siehe

10....20...40....80....160...etc.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben