No devolver nulo:
Problemas con nulo:
Argumento en contra de nulo:
Alternativas eficientes:
Rendimiento optimizado:
Ejemplos de código:
Método incorrecto que devuelve nulo:
// Exemplo incorreto public ListgetCheeses() { return cheesesInStock.isEmpty() ? null : new ArrayList(cheesesInStock); }
Trato inadecuado al cliente:
Listcheeses = shop.getCheeses(); if (cheeses != null && !cheeses.isEmpty()) { // Lógica para lidar com queijos disponíveis }
Método correcto que devuelve una colección vacía:
// Exemplo correto public ListgetCheeses() { return cheesesInStock.isEmpty() ? Collections.emptyList() : new ArrayList(cheesesInStock); }
Usando una colección vacía inmutable:
public ListgetCheeses() { return cheesesInStock.isEmpty() ? Collections.emptyList() : new ArrayList(cheesesInStock); }
Usar con matrices vacías:
// Retorno de array vazio corretamente public Cheese[] getCheeses() { return cheesesInStock.toArray(new Cheese[0]); }
Uso optimizado de matriz vacía:
private static final Cheese[] EMPTY_CHEESE_ARRAY = new Cheese[0]; public Cheese[] getCheeses() { return cheesesInStock.toArray(EMPTY_CHEESE_ARRAY); }
Conclusión:
Nunca devuelva nulo: prefiera siempre colecciones o matrices vacías. Esto simplifica la API, evita errores y rara vez afecta negativamente al rendimiento.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3