Re: [問題] ArrayList
※ 引述《howard666 (amin)》之銘言:
: ArrayList<Double> List = new ArrayList<Double>();
Collections < >裡面放的必須是 Class,
所以一般的數值型態必須要用 wrap class,
像 int -> Integer, double -> Double.
而不能直接 ArrayList<int> 這樣
: List.add(1.0);
: List.add(1.0);
而 Collections 好像本來是不會做 autobox 的.
忘記哪一版改成有,
所以當你直接 add 1.0 這個 double 時,
他會自動幫你 box 成 Double
: System.out.println(List.get(0) = = List.get(1));
但是這邊沒有什麼 unbox 的關係, 所以就變成 Double 跟 Double 比
可是基本上在 add 那邊可能是直接 new Double(1.0) 兩次
所以兩個 class 用 == 結果就會不一樣.
要對 Double 比較內容值是否相同, 要像 String 一樣去使用 equals method
如果還有比較大小的需求的話, 可以參考 compareTo method
詳細使用參考 Java API
: 結果印出來 答案是false,應該要是true才對....
: 想破頭 想不出來
: 也google 爬文過了
: 麻煩各位大大了......
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.160.33.86
※ 編輯: ogamenewbie 來自: 218.160.33.86 (12/06 18:43)
推
12/06 19:19, , 1F
12/06 19:19, 1F
推
12/07 04:09, , 2F
12/07 04:09, 2F
討論串 (同標題文章)