Understanding the ArrayStoreException in Java

Understanding the ArrayStoreException in Java

Ideally, when you do not know the data type that you want to store in an array, you can create an Object array and later associate it with the data type. But, once the array is initialized to a particular data type, and then you try to store data of different data type, Java reacts with ArrayStoreException.

Listing 1. ArrayStoreException

public class ArrayStoreException{   Object objArr[]; //Creating an array objArr - Currently not initialized with any data type   public static void main(String args[])   {      ArrayStoreException arrayStoreException = new ArrayStoreException();      arrayStoreException.proceed();   }      private void proceed()   {      objArr = new Integer[5]; //Initializing the data type of the array objArr to Integer      objArr[0] = new String("Hello"); //Assigning a String value - which results in the ArrayStoreException       //objArr[0] = new Integer(33); //Assigning a Integer value which is correct. Comment the above line and uncomment this line to execute without errors      System.out.println("objArr[0]: "+objArr[0]);   }}/*

Expected output:

[root@mypc]# java ArrayStoreExceptionException in thread "main" java.lang.ArrayStoreException: java.lang.String        at ArrayStoreException.proceed(        at ArrayStoreException.main(*/


Share the Post: