Java diferentes enfoques para manejar si es nulo, entonces nuevo

De acuerdo, tengo una pregunta sobre el manejo de nulos. Esta pregunta puede basarse en gran medida en la opinión, por lo tanto, voy a preguntar sobre los pros y los contras.

Digamos que tengo una función que puede devolver nulo, o un JSONArray. Siempre quiero un JSONArray, por lo que quiero que cree uno vacío si el resultado de la función es nulo.

Actualmente tengo el siguiente enfoque:

jsonArray = jsonArray==null?new JSONArray():jsonArray;

Me gusta este enfoque, ya que es una línea, y es bastante claro lo que hace. Sin embargo, esto me lleva a la pregunta, ¿es esto eficiente? Tengo la idea de que ahora se ejecutarájsonArray = jsonArray mientras no sea necesario Aunque esto parece salvar un salto que tendrías con unif (jsonArray == null)

¿Cuáles son las ventajas de las diferentes formas de manejar nulos?

Respuestas a la pregunta(1)

Su respuesta a la pregunta