2014-09-24 149 views
1

我的Android應用程序正在接收來自谷歌地點api的json。該評級通常是float value.so當我在下面的代碼中以double數據類型的形式收到該評級時,它說方法put(String,String)in類型HashMap不適用於參數(String,double).so我需要將此p.rating轉換爲字符串,以便將hashmap添加到arraylist以將其作爲鍵,值對傳遞給它。我可以實現這一點。哈希值映射值轉換錯誤

// loop through each place 
         for (Place p : nearPlaces.results) { 
          HashMap<String, String> map = new HashMap<String,String>(); 


          map.put(KEY_REFERENCE, p.reference); 

          // Place name 
          map.put(KEY_NAME, p.name); 
          map.put(KEY_EXTRA,p.rating);//here it says The method put(String, String) in the type HashMap<String,String> is not applicable for the arguments (String, double) 


          // adding HashMap to ArrayList 
          placesListItems.add(map); 
         } 
+0

'String.valueOf(「p.rating」)''這可能會拋出NullPointerException。 – Blackbelt 2014-09-24 15:03:03

+0

'p.rating +「」;' – 2014-09-24 15:04:00

回答

1

您可以使用:

String rating = String.valueOf(p.rating); 
+0

'String rating' – Blackbelt 2014-09-24 15:03:23

+0

@blackbelt對不起,我的手指太快了:) – nem035 2014-09-24 15:03:43

1

可能是做的最好的事情是String.valueOf(p.rating)。請注意,如果pp.ratingnull

+0

如果'p'是'null',而不是'p.rating' – Blackbelt 2014-09-24 15:03:59

+1

它會拋出一個兩種情況均例外 – Chnoch 2014-09-24 15:05:35