このコードは次のとおりです。
int[] someArray = {0, 1, 2, 3};
//System.out.println(someArray[0].toString()); int cannot be dereferenced
// creating Object element with use of primitive element fails
//Object newObject = new Object(someArray[0]); constructor Object in class java.lang.Object cannot be applied to given types;
for(Object someObject : someArray)
{
// here int is casted to Object
System.out.println(someObject.toString()); // prints 0, 1, 2, 3
}
プリミティブ型の変数(配列の要素)を明示的にObjectにキャストできないのに、どういうわけかforループでこのプリミティブ要素がObjectにキャストされるのはどうしてですか?