Was wäre der einfachste Weg, um CharSequence[]daraus etwas zu machen ArrayList<String>?
Sicher, ich könnte jedes ArrayListElement durchlaufen und in ein CharSequenceArray kopieren , aber vielleicht gibt es einen besseren / schnelleren Weg?
Was wäre der einfachste Weg, um CharSequence[]daraus etwas zu machen ArrayList<String>?
Sicher, ich könnte jedes ArrayListElement durchlaufen und in ein CharSequenceArray kopieren , aber vielleicht gibt es einen besseren / schnelleren Weg?
Antworten:
Sie können List#toArray(T[])dies verwenden.
CharSequence[] cs = list.toArray(new CharSequence[list.size()]);
Hier ist eine kleine Demo:
List<String> list = Arrays.asList("foo", "bar", "waa");
CharSequence[] cs = list.toArray(new CharSequence[list.size()]);
System.out.println(Arrays.toString(cs)); // [foo, bar, waa]
Da dieser Typ Stringbereits implementiert ist CharSequence, ist diese Konvertierung so einfach wie das Auffordern der Liste, sich selbst in ein neues Array zu kopieren, das keine der zugrunde liegenden Zeichendaten kopiert. Sie kopieren nur Verweise auf StringInstanzen in der Umgebung von:
final CharSequence[] chars = list.toArray(new CharSequence[list.size()]);
CharSequencees sich um eine Schnittstelle handelt und dieseStringimplementiert.