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 ArrayStoreException
Exception in thread "main" java.lang.ArrayStoreException: java.lang.String
at ArrayStoreException.proceed(ArrayStoreException.java:23)
at ArrayStoreException.main(ArrayStoreException.java:17)
*/
Visit the DevX Tip Bank