tl  tr
  Home | Tutorials | Articles | Videos | Products | Tools | Search
Open Source | Tag Cloud | Follow Us | Bookmark | Contact   
 
 Java > Strings > StringUtil

StringUtil 

This utility is useful to generate user friendly message from user objects and object arrays. The object array can be nested deep to any number of levels.

File Name  :  
com/bethecoder/tutorials/utils/Test.java 
Author  :  Sudhakar KV
Email  :  kvenkatasudhakar@gmail.com
   
package com.bethecoder.tutorials.utils;

public class Test {

  /**
   @param args
   */
  public static void main(String[] args) {
    
    String [] first = "ONE""TWO""THREE""FOUR" };
    String [] second = "SIX""SEVEN""EIGHT""NINE" };
    String [] third = "BBB""CCC""DDD" };
    String [][] fourth = first, second };
    
    int [][] intArray = { {234}{667788} };
    double [][] doubleArray = { {5.552.228.88}{234.556.9} };    
    Object [] test = fourth, intArray, doubleArray, third, 1729 };
    
    System.out.println(StringUtil.getAsString("String Utils Test"));
    System.out.println(StringUtil.getAsString(first));
    System.out.println(StringUtil.getAsString(fourth));
    System.out.println(StringUtil.getAsString(intArray));
    System.out.println(StringUtil.getAsString(doubleArray));
    System.out.println(StringUtil.getAsString(test));
  }

}
   


File Name  :  
com/bethecoder/tutorials/utils/StringUtil.java 
Author  :  Sudhakar KV
Email  :  kvenkatasudhakar@gmail.com
   
package com.bethecoder.tutorials.utils;

import java.lang.reflect.Array;

public abstract class StringUtil {

  public static final String DEFAULT_ITEM_SEP = ",";
  public static final String NULL = "<null>";
  public static final String EMPTY = "<empty>";
  
  /**
   * This method returns Object [] in String format.
   * This handles all Objects 
   */
  public static String getAsString(Object objOrObjAry) {

    /**
      * Comma is default separator.
     */
    return getAsString(objOrObjAry, DEFAULT_ITEM_SEP);

  }/* end of getAsString method */

  /**
   * This method returns Object [] in String format.
   * This handles all Objects 
   */
  public static String getAsString(Object objOrObjAry, String separator) {

    try {
      return getString(objOrObjAry, separator);

    catch Exception e ) {
    
      /**
       * Incase of any unexpected errors return generic  
       * String representation of that Object.
       */      
      return objOrObjAry.toString();       

    }/* end of try catch block */  

  }/* end of getAsString method */


  /**
   * This method returns String representation of any object.
   * It recursively converts all arrays in the given object to string
   * until there are no more arrays.  
   *
   */
  private static String getString(Object objOrObjAry, String separator) {

    if objOrObjAry == null) {
      return NULL;
    

    /**
     * Check (Object/primitive)[] or not.
     */  
    if (objOrObjAry.getClass().isArray()) {

      if (Array.getLength(objOrObjAry== ) {
        return EMPTY;
      else {

        String str = "";

        for(int i = ; i < Array.getLength(objOrObjAry); i++) {

          Object obj = Array.get(objOrObjAry, i);
          String objStr = NULL;

          if (obj != null) {

            if (obj.getClass().isArray()){
              objStr = getString(obj, separator);              
            else {
              objStr = obj.toString();
            }
          }

          if i > ) {
            str += separator + " " + objStr; 
          else {
            str = objStr;
          }/* end if */

        }/* end for */

        return "[" + str + "]";
      }

    else {
      return objOrObjAry.toString();
    }

  }/* end of getString method */
  
}/* end of StringUtil class */
   

It gives the following output,
String Utils Test
[ONE, TWO, THREE, FOUR]
[[ONE, TWO, THREE, FOUR], [SIX, SEVEN, EIGHT, NINE]]
[[5.55, 2.22, 8.88], [234.5, 56.9]]
[five, seven, eight, six, four, three, one, two]
[[[ONE, TWO, THREE, FOUR], [SIX, SEVEN, EIGHT, NINE]], [[2, 3, 4], [66, 77, 88]], 
	[[5.55, 2.22, 8.88], [234.5, 56.9]], [BBB, CCC, DDD], 1729]


                    Print

   



Books Recommendation

 
 
bl  br