Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

222
Vistas
¿Qué hace que la clase String en Kotlin pueda trabajar con corchetes?

En Kotlin puedes hacer algo como esto:

 val s: String = "Hey" println(s[1])

o simplemente:

 println("Hey"[1])

y usted imprimirá e .

Pero, ¿qué sucede si desea extender este comportamiento a sus propias clases? ¿Qué interfaz necesita implementar para lograr esta sintaxis?

Examiné los supertipos de String y solo encontré Comparable<String> y CharSequence , ninguno de los cuales tenía otros supertipos, por lo que mi búsqueda terminó temprano.

Por ejemplo, en Python, al definir un método llamado __getitem__ en una clase, puede otorgar a los objetos de esa clase la capacidad de usarse con una sintaxis de corchetes como esta a[i] ; Me preguntaba cómo era posible esto en Kotlin.

Gracias por adelantado.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Puede usar la sobrecarga de operadores de Kotlin, específicamente la sobrecarga para operadores de acceso indexado .

La sintaxis "Hey"[1] es solo un alias para "Hey".get(1) (si no está en el lado izquierdo de una tarea, donde sería un alias para "Hey".set(1, ...) ).

over 4 years ago · Santiago Trujillo Denunciar

0

Aparentemente, basta con tener un método get(i: Int) . Interesante...

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda