asignar campo de instancia a variable local
Este es el método keySet () en la clase HashMap de JDK. ¿Por qué el autor asignó el campo (keySet) a la variable local ks?
public Set<K> keySet() {
Set<K> ks;
return (ks = keySet) == null ? (keySet = new KeySet()) : ks;
}
¿Cuál es la diferencia entre lo anterior y lo inferior? ¿Tiene esto algo que ver con la seguridad del hilo?
public Set<K> keySet() {
return (keySet == null ? (keySet = new KeySet()) : keySet;
}