非常奇怪的事情發生在這裏: float theFloat = 10f * 0.5f * 0.0502913967f;
//result is 0.2514569835f
//but a float's precision is only 7digits so it's false.
//I corrected it, rounded at 6digits, result is 0.251
鑄造基本類型我有一個算法,用Java編寫的是反覆做原始的鑄件,如: int val = (int) Math.max(val1, val2);
因爲我想提高算法的性能,我想知道,如果重複必須避免上述鑄造,例如通過使用類似: int val = ((val1>val2) ? val1 : val2);
PS:我做了搜索到,但#1我沒有找到一個類似的答案。
據我所知,可以將一個Integer對象添加到類型爲Integer的ArrayList。這對我來說很有意義。就像這樣: ArrayList<Integer> list = new ArrayList<Integer>();
list.add(new Integer(3));
但爲什麼可以添加如int,而不是一個Integer原始數據類型?像這樣: ArrayList<Integer> list