Re: [問題] ArrayList

看板java作者 (._.)時間17年前 (2008/12/06 18:40), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《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
java5.0時加入autoboxing
12/06 19:19, 1F

12/07 04:09, , 2F
感謝版大!!
12/07 04:09, 2F
文章代碼(AID): #19EbQw3e (java)
討論串 (同標題文章)
本文引述了以下文章的的內容:
問題
2
5
完整討論串 (本文為第 2 之 2 篇):
問題
2
5
文章代碼(AID): #19EbQw3e (java)