Hola:
En el primer if estas comparando dos clases, que aunque tienen el mismo valor son clases distintas. Para comparar valores:
Código:
if(num_1.doubleValue() == num_2.doubleValue())
En el segundo if, al llamar a Double.compare(), éste devolverá 0 si ambos valores son numéricamente iguales, >0 si el primero es mayor que el segundo o <0 si el primero es menor que el segundo.