Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

131
Views
Hacer que el código Scala sea interoperable con una biblioteca Java

Tengo una biblioteca de Java que tengo que usar/llamar y lo estoy haciendo desde Scala. La biblioteca de Java tiene una firma como esta:

 JavaFunction( List<Object[]> data) { this.data = data; }

Supuse que para ser compatible con esto de Scala, necesitaba tener un AnyRef, así que tenía esto definido:

 val fromScala: List[Array[AnyRef]] = List( Array[AnyRef](1, "Str1", 'a'), Array[AnyRef](2, "Str2", 'b'), Array[AnyRef](3, "Str3", 'c'), Array[AnyRef](4, "Str4", 'd') )

Cuando traté de pasar esto al constructor, al compilar, me encontré con el siguiente error:

 the result type of an implicit conversion must be more specific than AnyRef Array[AnyRef](1, "Str1", 'a')

Entiendo que el compilador espera que sea explícito en mis tipos, pero no veo ninguna otra forma de hacer esto compatible. ¿Algunas ideas?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

El problema es que esos son 1 en lugar de AnyRef , por lo que se AnyVal una conversión implícita debajo del capó.

Puede usar Int.box(1) para crear un java.lang.Integer
Sin embargo, ese boxeo ocurrirá en tiempo de ejecución, por lo que solo está agregando repetitivo, puede intentar ver si List[Array[Any]] compila y funciona como se esperaba.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!