2017-08-25 3 views
3

J'étudie Java 8 et je suis tombé sur une affectation qui me dit de le faire. Je l'ai travaillé en utilisant lambda mais la tâche insiste sur le faire avec la référence de la méthode.Comment concaténer tous les éléments d'une chaîne ArrayList en utilisant la référence de méthode en Java 8

Mon code avec lambda est

package java8training.unit2; 

import java.util.List; 

import java8training.artifacts.CentralDataBase; 

public class Solution2 { 

    public static void main(String[] args) { 
     List<String> words = CentralDataBase.words; 
     words.stream().map(s -> " " + s).forEach(System.out::println); 
    } 
} 

À l'heure actuelle, je pense qu'il est impossible de remplacer le lambda

s -> " " + s 

avec sa référence de la méthode, ou je me trompe?

+5

vous pouvez utiliser 'map (" ":: concat)' à la place. –

Répondre

6

@ holi-java à droite dans son commentaire. Java a des méthodes pour concaténation comme String#concat que vous pouvez utiliser ici:

" "::concat 

SERAIT la référence de la méthode à utiliser.

+1

@ holi-java Je ne peux pas voir les réponses supprimées sur le téléphone, je vous crois sur parole – Eugene