devxlogo

Boolean casting

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 wrapperclasses 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 ofyour variables. When passing arguments, double check the parameter types against the method signature.

devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist