I have tried to make a simple code to compare numbers if is equal using Double class. This is my simple code:
BufferedReader bfr= new BufferedReader(new InputStreamReader(System.in));
Double number1;
Double number2;
System.out.println("Ask for first number:");
number1 = Double.parseDouble(bfr.readLine());
System.out.println("Ask for second number:");
number2 = Double.parseDouble(bfr.readLine());
if(number1==number2) {
System.out.println("These numbers are equals!");
System.out.println(number1);
System.out.println(number2);
}else {
System.out.println("They're differents!");
System.out.println(number1);
System.out.println(number2);
}
When I use "int" instead Double and the operator "==" it works fine but when I use "Double" it shows me they are different numbers even the same numbers are entered. I've tried to use Object.equals() method it works fine but I want to know why "Double" class does not admit operator "==".