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

359
Views
¿Por qué println() arroja un error en un caso pero no en otro?

Por qué es eso

 println(Int.MIN_VALUE + " " + Int.MAX_VALUE)

arroja un error, mientras que

 println("" + Int.MIN_VALUE + " " + Int.MAX_VALUE)

¿no es?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Como se menciona en los comentarios, sus dos declaraciones llaman a diferentes funciones más. La función más es una función de operador binario , lo que significa que se puede llamar utilizando la notación infija a + b . Esto llamará a la función de operador en a , con b como argumento. En tu ejemplo, esto significa que

 "" + Int.MIN_VALUE

llama al plus definido por String que tiene String.plus(other: Any?) como su firma de método. Como se menciona en la documentación, es

Devuelve una cadena obtenida al concatenar esta cadena con la representación de cadena del otro objeto dado.

Esto significa que obtendrá la representación String de Int.MIN_VALUE llamando al método toString() .

Por otro lado,

 Int.MIN_VALUE + ""

llama al plus definido por Int que limita el tipo de su argumento y no se puede aplicar a un String y, por lo tanto, Kotlin arrojará un error.


Como comentario adicional, probablemente debería usar plantillas de cadena de todos modos:

 "${Int.MIN_VALUE} ${Int.MAX_VALUE}"
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!