Was wäre der einfachste Weg, um CharSequence[]
daraus etwas zu machen ArrayList<String>
?
Sicher, ich könnte jedes ArrayList
Element durchlaufen und in ein CharSequence
Array 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 ArrayList
Element durchlaufen und in ein CharSequence
Array 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 String
bereits 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 String
Instanzen in der Umgebung von:
final CharSequence[] chars = list.toArray(new CharSequence[list.size()]);
CharSequence
es sich um eine Schnittstelle handelt und dieseString
implementiert.