# Failure in ArrayList map in Android

**URL:** <https://discuss.kotlinlang.org/t/failure-in-arraylist-map-in-android/968>\
**Category:** Uncategorized\
**Created:** [December 22, 2012, 1:43pm UTC](https://discuss.kotlinlang.org/t/failure-in-arraylist-map-in-android/968 "2012-12-22T13:43:59Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![dodyg](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/dodyg/32/1451_2.png) [@dodyg](https://discuss.kotlinlang.org/u/dodyg)\
**Post date:** [December 22, 2012, 1:43pm UTC](https://discuss.kotlinlang.org/t/failure-in-arraylist-map-in-android/968/1 "2012-12-22T13:43:59Z")

</div>

Kotlin&nbsp;&nbsp;0.4.317 at runtime

``

```kotlin

  val list = ArrayList<Pair<String,String>>()
  list.add(Pair(“Sample”, “Liftoff News”))
  list.add(Pair(“Scripting”, “Scripting News”))
  &nbsp;&nbsp;val keys = list.map { it.first }.toArray&lt;String&gt;()

 
```

&nbsp;&nbsp;java.lang.RuntimeException: Unable to start activity ComponentInfo{com.silverkeytech.android\_rivers/com.silverkeytech.android\_rivers.TryOutActivity}: java.lang.ClassCastException: [Ljava.lang.Object; &nbsp;&nbsp;at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647) &nbsp;&nbsp;at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) &nbsp;&nbsp;at android.app.ActivityThread.access$1500(ActivityThread.java:117) &nbsp;&nbsp;at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) &nbsp;&nbsp;at android.os.Handler.dispatchMessage(Handler.java:99) &nbsp;&nbsp;at android.os.Looper.loop(Looper.java:130) &nbsp;&nbsp;at android.app.ActivityThread.main(ActivityThread.java:3683) &nbsp;&nbsp;at java.lang.reflect.Method.invokeNative(Native Method) &nbsp;&nbsp;at java.lang.reflect.Method.invoke(Method.java:507) &nbsp;&nbsp;at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) &nbsp;&nbsp;at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) &nbsp;&nbsp;at dalvik.system.NativeStart.main(Native Method) &nbsp;&nbsp;Caused by: java.lang.ClassCastException: [Ljava.lang.Object; &nbsp;&nbsp;at com.silverkeytech.android\_rivers.TryOutActivity.handleDownloadRss(TryOutActivity.kt:85) &nbsp;&nbsp;at com.silverkeytech.android\_rivers.TryOutActivity.onCreate(TryOutActivity.kt:64) &nbsp;&nbsp;at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) &nbsp;&nbsp;at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) &nbsp;&nbsp;... 11 more

---

<div class="post-metadata">

**Author:** ![dodyg](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/dodyg/32/1451_2.png) [@dodyg](https://discuss.kotlinlang.org/u/dodyg)\
**Post date:** [December 22, 2012, 1:51pm UTC](https://discuss.kotlinlang.org/t/failure-in-arraylist-map-in-android/968/2 "2012-12-22T13:51:22Z")

</div>

It looks like the toArray\<String\>() breaks in Android 2.2

---

<div class="post-metadata">

**Author:** ![danseid](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/danseid/32/1585_2.png) [@danseid](https://discuss.kotlinlang.org/u/danseid)\
**Post date:** [December 23, 2012, 1:55am UTC](https://discuss.kotlinlang.org/t/failure-in-arraylist-map-in-android/968/3 "2012-12-23T01:55:33Z")

</div>

Seems like a general bug. Two working alternatives:

``

```kotlin
    val keys = list.map { it.first }.toArray(array<String>())

    val keys = list.map { it.first }.toArray() // type is Array<Any?>, so you need to cast every element

```

---

<div class="post-metadata">

**Author:** ![dodyg](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/dodyg/32/1451_2.png) [@dodyg](https://discuss.kotlinlang.org/u/dodyg)\
**Post date:** [December 23, 2012, 11:58am UTC](https://discuss.kotlinlang.org/t/failure-in-arraylist-map-in-android/968/4 "2012-12-23T11:58:15Z")

</div>

Thanks. I just filed the bug here [http://youtrack.jetbrains.com/issue/KT-3177](http://youtrack.jetbrains.com/issue/KT-3177)
