instanceof

The performance impact of using instanceof in Java

I am working on an application and one design approach involves extremely heavy use of the instanceof operator. While I know that OO design generally tries to avoid using instanceof, that is a different story and this question is purely related to performance. I was wondering if there is any performance impact? Is is just as fast as ==? ...

Why does instanceof return false for some literals?

"foo" instanceof String //=> false "foo" instanceof Object //=> false true instanceof Boolean //=> false true instanceof Object //=> false false instanceof Boolean //=> false false instanceof Object //=> false // the tests against Object really don't make sense Array literals and Object literals match... [0,1] instanceof Array //=> t...

What is the difference between instanceof and Class.isAssignableFrom(...)?

Which of the following is better? a instanceof B or B.class.isAssignableFrom(a.getClass()) The only difference that I know of is, when 'a' is null, the first returns false, while the second throws an exception. Other than that, do they always give the same result? ...

Getting the class name of an instance in Python

Hi, How do I find out a name of class that created an instance of an object in Python if the function I am doing this from is the base class of which the class of the instance has been derived? Was thinking maybe the inspects module might have helped me out here, but it doesn't seem to give me what I want and short of parsing the __cla...

Any reason to prefer getClass() over instanceof when generating .equals()?

I'm using Eclipse to generate .equals() and .hashCode(), and there is an option labeled "Use 'instanceof' to compare types". The default is for this option to be unchecked and use .getClass() to compare types. Is there any reason I should prefer .getClass() over instanceof? Without using instanceof: if (obj == null) return false; i...

Java - inconsistent behavior of instanceof

Is there anything tricky I should know about instanceof? I'm passing a list of objects through a few methods and testing whether these objects implement a particular interface using instanceof. In some cases, instanceof correctly identifies objects as implementing the interface, in other cases it doesn't. It appears to be giving me incon...

How can I implement my LayoutManager without instanceOf?

For a certain layout that I'm working on, I need to make my own LayoutManager. It will lay out different components depending on what type they are: Labels in one way, Separators in another way, and everything else in a third way. I can easily implement this and to determine the different positions for different types of components, i...

How to find if object of a class exists.

Hi, On my ListBoxItem MouseEnter event I am creating a new window with the following code. Window w = new Window(); w.Show(); When the mouse leaves the current item I want to close the window. How do I do that? Many Thanks. ...

Most specific subclass for a Java object?

I have two classes A and B, where B is subclass of A and A is not abstract. Therefore I can have objects that are instance of A and objects that are instance of B (and therefore of A). How can I distinguish objects that are only instance of A? Sure, I can write something like "object instaceof A && !(object instance of B)" but this is...

In Java, Is there such thing as instanceOf(Class<?> c)?

I want to check if an object o is an instance of the class c or of a subclass of c. For instance, if p is of class Point I want x.instanceOf(Point.class) to be true and also x.instanceOf(Object.class) to be true. I want it to work also for primitive types. For instance, if x is an integer then x.instanceOf(Integer.class) should be true. ...

What is the VB equivalent of Java's instanceof and isInstance()?

In the spirit of the c# question.. What is the equivalent statements to compare class types in VB.NET? ...

Instanceof and Type-casting Techniques

I have a question about technique and implementation, rather than an actual problem to solve. Recently I created an abstract class, let's called it A, which defines the common behaviors of its subclasses. I use this to construct several subclasses B, C, and D, which are then passed to some other method outside of the superclass-subclas...

What is the best way to check if an object is an array or not in Javascript?

Say I have a function like so: function foo(bar) { if (bar > 1) { return [1,2,3]; } else { return 1; } } And say I call foo(1), how do I know it returns an array or not? ...

Avoiding instanceof when checking a message type

I have the following situation where a client class executes different behavior based on the type of message it receives. I'm wondering if there is a better way of doing this since I don't like the instanceof and the if statements. One thing I thought of doing was pulling the methods out of the client class and putting them into the mes...

how can I replace instanceof in this case?

I'm trying to compare compareCriteria. Simple ones like 'between' and 'inArray' or 'greaterThan'. I use polymorphism for these classes. One method they share from the compareCriteria interface is 'matchCompareCriteria'. What I'm trying to avoid is having each class check for the type of compareCriteria they should match against. Eg the ...

OCaml: Type Checking Objects

If I have an object, how can I determine its type? (Is there an OCaml equivalent to Java's instanceof operator?) ...

Implementing isInstance in Javascript

I define how two functions can inherit from each other as follows: Function.prototype.inherit = function(parent){ function proto() {} proto.prototype = parent.prototype; this.prototype = new proto(); this.prototype.constructor = this; this.prototype.parent = parent; } I then need to define an isInstance function that would behave l...

Issue with JavaScript object constructor where arguments are other objects

I'm writing some JavaScript with three classes, one for Roofs, one for Garages, and one for Houses. The house class takes two arguments to its constructor, a Roof and a Garage. When I run this code I get: can not construct object [Break on this error] throw new Error('can not construct object');\n in Firebug even though the objects are...

In generic method <T> doSth(List<T> l), check whether T implements Comparable?

The title basically says it all: if I have a java method that is generic in T, can I find out anything about T? In particular, can I check whether T implements a certain interface or extends a certain class? I would like to do something like public <T> List<T> doSth(List<T> l) { if(T extends Comparable) { // do one thing } el...

Java: Instanceof and Generics

Before I look through my generic data structure for a value's index, I'd like to see if it is even an instance of the type this has been parametrized to. But Eclipse complains when I do this: @Override public int indexOf(Object arg0) { if (!(arg0 instanceof E)) { return -1; } What is the better way to do it? This is the error mes...