products/sources/formale sprachen/Isabelle/Tools/jEdit/dist/jEdit/org/gjt/sp/util image not shown  

Quellcode-Bibliothek

© Kompilation durch diese Firma

[Weder Korrektheit noch Funktionsfähigkeit der Software werden zugesichert.]

Datei: StringList.java   Sprache: JAVA

Original von: Isabelle©

/* {{{ StringList.java - a List of Strings with split() and join() methods
 * :tabSize=4:indentSize=4:noTabs=false:
 * :folding=explicit:collapseFolds=1:
 *
 * Copyright (C) 2005 Alan Ezust
 *
 * 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 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.
 * }}} */


package org.gjt.sp.util;

//{{{ imports
import javax.annotation.Nonnull;
import java.util.ArrayList;
import java.util.Collection;
//}}}

/**
 * A List<String> with some perl-like convenience functions (split/join primarily),
 * and easy conversion to/from arrays.
 * @since jEdit 4.3pre7
 */

public class StringList extends ArrayList<String>
{
  // {{{ Constructors
  public StringList()
 {
 }

 public StringList(Object[] array)
 {
  addAll(array);
 } // }}}

 // {{{ addAll()
 public void addAll(Object[] array)
 {
  for (Object element : array)
   add(element.toString());
 }   // }}}

 // {{{ split()
 /**
 * @param orig the original string
 * @param delim a delimiter to use for splitting
 * @return a new StringList containing the split strings.
 */

 public static StringList split(String orig, Object delim)
 {
  if ((orig == null) || (orig.isEmpty()))
   return new StringList();
  return new StringList(orig.split(delim.toString()));
 } // }}}

 // {{{ toString()
 /**
 * Joins each string in the list with a newline.
 * @return a joined string representation of this, 
 * with the newline (\n) as delimiter. 
 */

 @Override
 public String toString()
 {
  return join("\n");
 }  // }}}

 // {{{ toArray()
 /** @return an array of String */
 @Nonnull
 @Override
 public String[] toArray() 
 {
  int siz = size();
  String[] result = new String[siz];
  System.arraycopy(super.toArray(), 0, result, 0, siz);
  return result;
 }
 // }}}

 // {{{ join() methods
 /**
 * The reverse of split - given a collection, takes each element
 * and places it in a string, joined by a delimiter.
 * @deprecated use {@link String#join(CharSequence, CharSequence...)} or
 * {@link String#join(CharSequence, Iterable)}, thos methods are available
 * since Java 8 and are faster in all situations
 */

 @Deprecated
 public static String join(Collection<String> c, String delim)
 {
  StringList sl = new StringList();
  sl.addAll(c);
  return sl.join(delim);
 }

 /**
 *
 * @param arr array of objects
 * @param delim delimiter to separate strings
 * @return a single string with each element in arr converted to a string and concatenated,
 * separated by delim.
 */

 public static String join(Object[] arr, String delim) 
 {
  return new StringList(arr).join(delim);
 }

 /**
 * Non-static version, that joins "this" StringList.
 * @param delim the delimiter
 * @return a joined string with delim inbetween each element
 */

 public String join(String delim) 
 {
  int s = size();
  if (s < 1)
   return "";
  if (s == 1)
   return get(0);
  else
  {
   StringBuilder retval = new StringBuilder();
   retval.append(get(0));
   for (int i = 1; i < s; ++i)
    retval.append(delim).append(get(i));
   return retval.toString();
  }

 }  // }}}

 private static final long serialVersionUID = -6408080298368668262L;
}

¤ Dauer der Verarbeitung: 0.21 Sekunden  (vorverarbeitet)  ¤





Download des
Quellennavigators
Download des
sprechenden Kalenders

in der Quellcodebibliothek suchen




Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.


Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.


Bot Zugriff