2016-08-11 4 views
5

Also ich frage mich, ob man über ein String-Array von toString() Anrufen von einem Objekt Arraylist gemacht aufzufüllenWie kommt man einen String [], bestehend aus dem .toString() Anrufen von einem Arraylist <Object> in einer Zeile

Also weiß ich, dass dies mit einer Schleife gemacht werden kann, aber gibt es eine Ein-Linie-Ansatz?

Loop-Ansatz

ArrayList<Object> objects = new ArrayList<Object>(); 
//fill object with elements 
// 

String[] strings = new String[object.length()]; 
for(int i = 0;i<10;i++)strings[i]=objects.get(i).toString(); 

Antwort

11

mit Hilfe von Java-8,

String[] strings = objects.stream().map(Object::toString).toArray(String[]::new); 
+1

Streams sind genial. Ich wusste nicht, dass du Sachen wie "String [] :: new" machen kannst, danke – apemanzilla

+1

Da die Frage ein "Performance" -Tag hat, muss ich darauf hinweisen, dass dies der richtige Weg ist, dies in einer Zeile zu tun, wenn das Ihr Ziel ist, aber es bringt Ihnen keine Leistungsgewinne über eine einfache Schleife. – VGR

Verwandte Themen