File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Beginning Java and the fly likes (WhatIsThis)ab.remove(0);  // Syntax question Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "(WhatIsThis)ab.remove(0);  // Syntax question" Watch "(WhatIsThis)ab.remove(0);  // Syntax question" New topic

(WhatIsThis)ab.remove(0); // Syntax question

Charles McGuire
Ranch Hand

Joined: Jan 18, 2005
Posts: 99
Can someone please explain to me what is happening when a method call is prefaced by parenthesis, such as shown in the example in the subject?

The ab.remove(0); part I get. I don't understand the (WhatIsThis) part.


There's no place like
M Beck
Ranch Hand

Joined: Jan 14, 2005
Posts: 323
if the (whatIsThis) happens to be the name of a data type, such as (int) or (double) or the like, then you're probably looking at a typecast.

that is, the method returns a value of some one type, but the place where the method call is used needs a value of another type. putting the name of the type you need in parentheses before the method call like that tells the javac compiler to try and convert the value returned into the type needed, as best it can.
marc weber

Joined: Aug 31, 2004
Posts: 11343

In general, when an expression is preceded by something in parentheses, this means that the object reference (or primitive value) represented by that expression is explicitly cast to the type specified within the parentheses.

For example, in an ArrayList, the remove(int) method returns a reference to the element removed from the List at the specified index (the int argument). But this reference is likely to be of type Object; so to be of any use, it needs to be explicitly cast back to its true type.
[ January 18, 2005: Message edited by: marc weber ]

"We're kind of on the level of crossword puzzle writers... And no one ever goes to them and gives them an award." ~Joe Strummer
Charles McGuire
Ranch Hand

Joined: Jan 18, 2005
Posts: 99
Thank you! With this information, I returned to the code and it makes perfect sense now.

I agree. Here's the link:
subject: (WhatIsThis)ab.remove(0); // Syntax question
It's not a secret anymore!