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

564
Views
¿Cuál es la diferencia entre sumOf() y sumBy() en Kotlin 1.4?

¿En qué se diferencia la nueva función sumOf() de Kotlin 1.4 de las sumBy() o sumByDouble() ?

over 4 years ago · Hanz Gallego
2 answers
Answer question

0

Como dice el registro de cambios de Kotlin 1.4 :

... sumOf le permite manejar sumas de diferentes tipos de la misma manera . produce sumas de los tipos Int , Long , Double , ... [dependiendo del tipo de retorno de la lambda dada].

over 4 years ago · Hanz Gallego Report

0

TLDR : no hay diferencia, y eventualmente sumBy / sumByDouble puede quedar obsoleto a favor del único sumOf .

La operación sumOf tiene sobrecargas para diferentes tipos numéricos devueltos por la función selectora. Es algo que antes era imposible con la antigua función de inferencia de tipos, por lo que para manejar diferentes tipos numéricos se requería tener funciones con diferentes nombres: sumBy para sumar enteros, sumByDouble para sumar dobles, etc.

Cuando finalmente llegó la nueva inferencia con el soporte experimental de resolución de sobrecarga mediante el tipo de retorno selector lambda, decidimos no sobrecargar la función sumBy existente, sino introducir una nueva operación sumOf . De esta forma, tiene menos posibilidades de romper algo y es más consistente al nombrar con las nuevas operaciones list.minOf/maxOf { selector } .

over 4 years ago · Hanz Gallego 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!