Mapa de Kotlin y networkingucir el set de cadenas para mapear <String, Any!>

Quiero crear la utilidad Kotlin accesible desde Java que convierte la list de cadenas en maps. Hasta ahora he escrito:

class Utils { companion object { @JvmStatic fun values(item: GSAItem): Map<String, Object> { return item.itemDescriptor.propertyNames.map {it -> Map.Entry<String, Any!>(it, item.getPropertyValue(it)) }; } } } 

Pero estoy recibiendo un error

 Error:(16, 74) Kotlin: Unresolved reference: Entry 

GSAItem.getPropertyValue es un método Java que toma String como argumento y devuelve Object. Después de eso, ¿sospecho que necesito encontrar algún equivalente de la function de recostackción de Java 8?

Map.Entry – stdlib – Kotlin Programming Language es una interface y, como tal, no tiene un constructor y es por eso que está obteniendo un error (tal vez no sea el mejor post). Puede encontrar una implementación, crear la suya propia o utilizar associate lugar:

 class Utils { companion object { @JvmStatic fun values(item: GSAItem): Map<String, Any?> { return item.itemDescriptor.propertyNames.associate { it to item.getPropertyValue(it) } } } } 

Tenga en count que debe usar Any or Any? en lugar de java.lang.Object .

Qué tal algo como esto:

 item.itemDescriptor .propertyNames .map { name -> name to item.getPropertyValue(name) } .toMap() 
  • Kotlin NullPointerException ocurrencia
  • Usar la function Reemplazar en KOTLIN
  • Kotlin para Android y classs internas finales estáticas
  • ¿Cuáles son las semánticas de initialization de la class Kotlin?
  • Kotlin genera código java genérico
  • ¿Es posible utilizar println como reference de function en Kotlin?
  • Tramos de resorte con capucha de spring que no anidan en corotina Kotlin
  • TornadoFX: el text de la label no se actualiza
  • Kotlin: ejecuta una testing de integración, el error `diversión principal ya está definido`
  • TornadoFX con TestFX cierra la vista después de cada TestCase
  • No se puede burlar de la class final de Kotlin usando Mockito 2