¿Cómo get una class de matriz primitiva multidimensional en kotlin?

en Java he estado usando gson para analizar un json como este [[1.2, 4.1], [3.4, 4.4]] en una matriz multi-array primitiva java double[][]

El código se ve así (y funciona bien):

 String json = "[[1.2, 4.1], [3.4, 4.4]]" double[][] variable = new Gson().fromJson(json, double[][].class); 

¿Hay alguna manera de get la double[][].class En kotlin? Es double[][] variable; puede ser un sustituto en kotlin?

Editar:

Mi objective es lograr el mismo comportamiento con gson en kotlin. Tengo miles de arreglos de dobles para analizar.

Me gustaría hacer algo como esto en kotlin:

 val json = "[[1.1, 1.2], [2.1, 2.2, 2.3], [3.1, 3.2]" val variable:Double[][] = Gson().fromJson(json, Double[][]::class.java) 

Responda al problema de Gson

Para el tipo de class de su caso de uso use Array<DoubleArray>::class.java)

Algunas palabras adicionales en matrices multidimensionales

Simplemente arrayOf en otro arrayOf o doubleArrayOf (less gastos generales de Boxing) para get algo como Array<DoubleArray> :

 val doubles : Array<DoubleArray> = arrayOf(doubleArrayOf(1.2), doubleArrayOf(2.3)) 

También es posible anidar múltiples inicializadores de matriz con el siguiente constructor :

 public inline constructor(size: Int, init: (Int) -> T) 

Una llamada puede verse así:

 val doubles2: Array<DoubleArray> = Array(2) { i -> DoubleArray(2) { j -> j + 1 * (i + 1).toDouble() } } //[[1.0, 2.0], [2.0, 3.0]] 

En el futuro, puedes intentar usar el convertidor Kotlin. Tomé su código y lo ejecuté a través del convertidor y obtuve el siguiente código de trabajo que coincide con la respuesta dada.

 internal var json = "[[1.2, 4.1], [3.4, 4.4]]" internal var variable = Gson().fromJson(json, Array<DoubleArray>::class.java) 

Puede mezclar arrayOf y doubleArrayOf para ese caso.

 arrayOf( doubleArrayOf(1.2, 4.1) doubleArrayOf(3.4, 4.4) ) 
  • Lienzo dibujar bitmap?)
  • ¿Por qué `como` en Kotlin no echó en este caso
  • Extensiones y fragments de Kotlin para Android
  • Kotlin - MainActivity extiende AppCompatActivity, function onRequestPermissionsResult no encontrada y no puede ser anulada
  • Anko equivalente al estilo attr en xml
  • Convenciones de nomenclatura de files para Kotlin
  • ¿Por qué Smart-Cast no maneja esta situación?
  • ¿Cómo cambiar un campo de miembro con la reflexión de Kotlin?
  • ¿Cómo implementar el patrón de layout de método de plantilla en Kotlin?
  • Kotlin: ¿Por qué esta function no es elegible para la recursion de queue?
  • Funciones locales acceden a variables principales con el mismo nombre