Win a copy of Learn Spring Security (video course) this week in the Spring forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Another Array question...

 
Higgledy Smith
Ranch Hand
Posts: 192
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Given:
int [][] a = {{1,2,}, {3,4}};
int[] b = (int[]) a[1];

This (int[]) in the above code is casting a 2-D array to a 1-D array?
 
Higgledy Smith
Ranch Hand
Posts: 192
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
int [][] a = {{1,2,}, {3,4}};
int[] b = (int[]) a[1];
Object o1 = a;

I don't understand why I can set my instance ref o1 to the instance ref of array a? I thought that the object o1 would have had to been a 2-D?

Is it possible to display the contents of o1? As it is written now?
 
Keith Lynn
Ranch Hand
Posts: 2409
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
In the original question, a[1] is an array of ints, so the cast is legal.

Recall that arrays are objects, and you can refer to any array as an Object.
 
Kj Reddy
Ranch Hand
Posts: 1704
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
In Java there is no concept of 2D arrays. When you say int[][] a, it creates array of arrays.
 
Higgledy Smith
Ranch Hand
Posts: 192
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
OK. But what effect is (int[]) providing in the code?
 
Keith Lynn
Ranch Hand
Posts: 2409
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
It's unnecessary since a[1] is an int[]
 
Henry Wong
author
Marshal
Pie
Posts: 20880
75
C++ Chrome Eclipse IDE Firefox Browser Java jQuery Linux VI Editor Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Higgledy Smith:
OK. But what effect is (int[]) providing in the code?


In the example, a[1] is already an int array, so the cast is not needed.

Henry
 
Higgledy Smith
Ranch Hand
Posts: 192
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
OK. I guess the example is not a good one. I was more trying to get someone with experience to tell me it is really casting an array. This is NOT explained in the SCJP 5.0 book but shows up in the self test on page 267.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic