Originally posted by Alfonso Harding: From the following code:
Can someone please explain why the following assignment is legal:
and why is the following not legal.
b2 is a 4-dimensional array and b is a 2-dimensional array so when you have N subscripts following an N-dimensional array that will evaluate to a simple element. In the first statement you had b2  which indeed evaluates to a simple byte and b  which also evaluates to byte. Now if you have fewer subscripts than dimensions, then it will evaluate to an array of N-S dimensions where S is the number of subscripts that follows the reference. In the second example you had b2  or a 4-3=1 dimensional array. Java being a strong typed language vetos your trying to set an array to a primitive.
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius - and a lot of courage - to move in the opposite direction. - Ernst F. Schumacher