class ArrayApp {
	public static void main(String [] args) throws Exception {
		Array 
			mixed = new Array(),
			integers = new Array(),
			doubles = new Array(),
			strings = new Array();

		System.out.println("mixed: " + mixed);

		// Loading up the arrays
		for (int i = 10; i < 20; i++) {
			mixed.add(new Integer(i));
			mixed.add(new Double(i));
			mixed.add(new String("string#" + i));
			integers.add(new Integer(i));
			doubles.add(new Double(i));
			strings.add(new String("string#" + i));
		}

		System.out.println("After load: ");
		System.out.println("mixed: " + mixed);
		System.out.println("integers: " + integers);
		System.out.println("doubles: " + doubles);
		System.out.println("strings: " + strings);

		// Playing with mixed -- can't do much
		for (int i = 0; i < mixed.size(); i++) {
			Object obj = mixed.get(i);
			System.out.println(obj.toString());
		}

		// Playing with Integers -- need to downcast but then can extract the int and play with it
		for (int i = 0; i < integers.size(); i++) {
			Integer integer = (Integer)integers.get(i);
			System.out.println("toString: " + integer.toString());
			System.out.println("+1: " + (integer.intValue()+1));
		}
	}
}
		
