Skip to Content
De Java a Kotlin
book

De Java a Kotlin

by Duncan McGregor, Nat Pryce
September 2024
Intermediate to advanced
424 pages
10h 56m
Spanish
O'Reilly Media, Inc.
Book available
Content preview from De Java a Kotlin

Capítulo 15. Colecciones encapsuladas a alias de tipos

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

En Java, encapsulamos colecciones de objetos en clases para controlar las operaciones de mutación y adición. Controlar la mutación es menos preocupante en Kotlin, y podemos utilizar funciones de extensión para añadir operaciones. ¿Cómo serían mejores nuestros diseños sin la encapsulación, y cómo lo conseguimos?

En Capítulo 6 vimos las diferencias entre los granos de Java y Kotlin en lo que respecta a las colecciones. Las interfaces de colección de Java, en consonancia con sus raíces orientadas a objetos, son fundamentalmente mutables, mientras que Kotlin trata las colecciones como tipos de valor. Como vimos, si mutamos colecciones compartidas, podemos meternos en todo tipo de problemas. Podríamos evitar esos problemas no mutando las colecciones compartidas ("No mutar colecciones compartidas"), pero en Java eso es difícil de hacer cuando esos métodos add y set están a sólo un autocompletado de distancia. En lugar de convención y disciplina, la mayor parte del código Java opta sensatamente por el enfoque más seguro de simplemente no compartir colecciones en bruto. En su lugar, las colecciones se ocultan dentro de otro objeto.

Aquí tienes, por ejemplo, un Route en Travelator:

public class Route {
    private final List<Journey> journeys; 

    public Route(List<Journey> journeys) {
        this.journeys = journeys; 
    }
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Recetas Java modernas

Recetas Java modernas

Ken Kousen
Programar Android con Kotlin

Programar Android con Kotlin

Pierre-Olivier Laurence, Amanda Hinchman-Dominguez, G. Blake Meike, Mike Dunn
Sistemas reactivos en Java

Sistemas reactivos en Java

Clement Escoffier, Ken Finnigan

Publisher Resources

ISBN: 9781098198404Supplemental Content