Copyright © tutorialspoint.com

# Java Examples - String optimization

## Problem Description:

How to optimize string creation ?

## Solution:

Following example optimizes string creation by using String.intern() method.

    public class StringOptimization{
       public static void main(String[] args){
          String variables[] = new String[50000];
          for( int i=0;i <50000;i++){
             variables[i] = "s"+i;
          }
          long startTime0 = System.currentTimeMillis();
          for(int i=0;i<50000;i++){
             variables[i] = "hello";
          }
          long endTime0 = System.currentTimeMillis();
          System.out.println("Creation time"
          + " of String literals : "+ (endTime0 - startTime0)
          + " ms" );
          long startTime1 = System.currentTimeMillis();
          for(int i=0;i<50000;i++){
             variables[i] = new String("hello");
          }
          long endTime1 = System.currentTimeMillis();
          System.out.println("Creation time of"
          + " String objects with 'new' key word : "
          + (endTime1 - startTime1)
          + " ms");
          long startTime2 = System.currentTimeMillis();
          for(int i=0;i<50000;i++){
             variables[i] = new String("hello");
             variables[i] = variables[i].intern();
          }
          long endTime2 = System.currentTimeMillis();
          System.out.println("Creation time of"
          + " String objects with intern(): "
          + (endTime2 - startTime2)
          + " ms");
       }
    }

## Result:

The above code sample will produce the following result.The result may vary.

    Creation time of String literals : 0 ms
    Creation time of String objects with 'new' key word : 31 ms
    Creation time of String objects with intern(): 16 ms

Copyright © tutorialspoint.com