Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Java Language
Expertise: Beginner
Jan 8, 1999

Boolean casting

Question:
Why am I getting a type conversion error with the following method:
public synchronized void setVisible(Boolean b) {
   setLocation(50, 50);
   super.setVisible(b);
}

Answer:
You do not mention what setVisible method you are overriding, but I will assume it's the one in java.awt.Component. That method requires an argument of the primitive boolean type, rather than the Boolean object type defined in the java.lang package. If you're not used to a language with a primitive boolean type, it is easy to forget that it is primitive, and instead assume it is a class, and use a conventionally capitalized class name instead. Java provides a set of wrapper classes for primitve types because Java primitive types do not derive from java.lang.Object. Often it is necessary to return a value or pass an argument value as an Object, rather than a primitive type. The Boolean class provides this wrapping ability for boolean types. Remember, when your compiler spits out a class casting error, carefully check the types of all of your variables. When passing arguments, double check the parameter types against the method signature.

DevX Pro
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date