java基礎中的陷阱

public static void main(String[] args) {
    float a = 1.0f - 0.9f;
    float b = 0.9f - 0.8f;
    if (a == b) {
        System.out.println("this id true");
    } else {
        System.out.println("this is false");
    }
}

 

這段代碼輸出的是什麼?

答案肯定是false了!

 

public static void main(String[] args) {
    Float a = Float.valueOf(1.0f - 0.9f);
    Float b = Float.valueOf(0.9f - 0.8f);
    if (a.equals(b)) {
        System.out.println("this is true");
    } else {
        System.out.println("this is false");
    }
}

這段代碼輸出的是什麼?

答案再次肯定是false了!

 

具體原因大家可以看源碼了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章