View Single Post
Hei.

Mulig jeg er litt sær, men jeg ville heller løst det i løkka.

Ville også skrevet det såpass generelt at metoden tar høyde for:
  • Listen kan være null
  • Listen kan være tom
  • Listen kan inneholde elementer som er null
  • Listen kan inneholde elementer som er blanke

Kjapp test i Java gir noe ala:

Kode

 public String listToCommaSeparatedValues(List<String> myList) {
        if (myList == null || myList.isEmpty()) {  // If list is null or empty, just return an empty String.
            return "";
        }

        String outString = "";
        for (Iterator<String> stringIterator = myList.iterator(); stringIterator.hasNext(); ) {
            final String oneStringInList = stringIterator.next();

            if (oneStringInList != null && !"".equals(oneStringInList)) {
                outString += oneStringInList;

                if (stringIterator.hasNext()) {
                    outString += ", ";
                }
            }
        }

        return outString;
    }
Kan sikkert skrives enda bedre, men da vil det fungere selv om listen ser sånn ut:

Kode

 List<String> myList = new ArrayList<String>();
        myList.add("Say");
        myList.add(null);
        myList.add("Hello");
        myList.add("");
        myList.add("World");
Output fra dette eksempelet er:

Say, Hello, World

Hva som er best kan man sikkert diskutere i det evige, men synes dette er en 'riktig' måte å gjøre det på.
Sist endret av pax2k; 20. juli 2012 kl. 21:20.