Ich erhalte eine Zeichenfolge von Konstanten in List
. Ich brauche List
. Auf die einfache Weise werde ich durchlaufen und in Integer umwandeln.
Gibt es eine bessere Lösung?
Ich erhalte eine Zeichenfolge von Konstanten in List
. Ich brauche List
. Auf die einfache Weise werde ich durchlaufen und in Integer umwandeln.
Gibt es eine bessere Lösung?
Es gibt einen Weg, dies zu tun.
Sie könnten das Adapter Pattern verwenden und eine Klasse erstellen, die List
implementiert, aber intern auf Ihre List
zugreift, die Werte zwischen Integer und String umwandelt. Solange Sie alle Verträge erfüllen, wird jede API, die eine List
benötigt, mit dieser Klasse genauso arbeiten können wie mit einer nativen List
.
Dies mag umständlich und ineffizient erscheinen, aber wenn Sie eine List
an eine API übergeben müssen, die nur auf einige Werte der Liste zugreift, kann es effizienter sein, einige davon bei Bedarf umzuwandeln ("lazy evaluation") anstatt alle auf einmal umzuwandeln. Es spart auch Speicherplatz, weil Sie nicht gleichzeitig die String- und Integer-Repräsentation Ihrer gesamten Liste im Speicher haben werden.
Schauen Sie sich die Listen
Klasse von Google Guava an, Sie können etwas wie folgt tun:
List ergebnis = Lists.transform(stringList, new Function() {
@Override
public Integer apply(@Nullable String eingabe) {
return Integer.parseInt(eingabe)
}
});
Soweit ich mich erinnere, wird es jedes Element faul transformieren.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.