Java Comma Separated List commaSeparatedList(String string)

Here you can find the source of commaSeparatedList(String string)

Description

Creates a List of String objects from the given comma-separated String.

License

Open Source License

Declaration

public static List commaSeparatedList(String string) 

Method Source Code

//package com.java2s;
/*/*from  w  w w  . j  a v  a 2s  .c o m*/
 * ProGuard -- shrinking, optimization, obfuscation, and preverification
 *             of Java bytecode.
 *
 * Copyright (c) 2002-2012 Eric Lafortune (eric@graphics.cornell.edu)
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License as published by the Free
 * Software Foundation; either version 2 of the License, or (at your option)
 * any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
 * more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with this program; if not, write to the Free Software Foundation, Inc.,
 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 */

import java.util.*;

public class Main {
    /**
     * Creates a List of String objects from the given comma-separated String.
     */
    public static List commaSeparatedList(String string) {
        if (string == null) {
            return null;
        }

        List list = new ArrayList();
        int index = 0;
        while ((index = skipWhitespace(string, index)) < string.length()) {
            int nextIndex;

            // Do we have an opening quote?
            if (string.charAt(index) == '\'') {
                // Parse a quoted string.
                nextIndex = string.indexOf('\'', index + 1);
                if (nextIndex < 0) {
                    nextIndex = string.length();
                }

                list.add(string.substring(index + 1, nextIndex));
            } else {
                // Parse a non-quoted string.
                nextIndex = string.indexOf(',', index);
                if (nextIndex < 0) {
                    nextIndex = string.length();
                }

                String substring = string.substring(index, nextIndex)
                        .trim();
                if (substring.length() > 0) {
                    list.add(substring);
                }
            }

            index = nextIndex + 1;
        }

        return list;
    }

    /**
     * Skips any whitespace characters.
     */
    private static int skipWhitespace(String string, int index) {
        while (index < string.length()
                && Character.isWhitespace(string.charAt(index))) {
            index++;
        }
        return index;
    }
}

Related

  1. commandToString(List args)
  2. commaSeparate(List a_list)
  3. commaSeparatedClassNames(final List objects)
  4. commaSeparatedList(Collection c)
  5. commaSeparatedList(Object... values)
  6. commaSeparatedString(List items)
  7. commaSeparatedString(List strings)
  8. commaSeparatedStringToList(String csvListStr)
  9. commaSeparatedToList(String str)

  10. HOME | Copyright © www.java2s.com 2016