As Java is a statically typed language, you always know if something is a double at compile time. That also means that the if statement is completely unnecessary. If the variable v is possibly of type Double (the wrapped type of double ) then you can simply use v instanceof Double to check.