35 votos

Hay una razón válida para el código de una falsa booleano como "Boolean.FALSE" en java?

Así que el código de los revisores se quejan de código como este:

boolean myFlag = false;

Ellos están diciendo que debería ser:

boolean myFlag = Boolean.FALSE;

Se trata simplemente de algún fetiche con el no uso de palabras clave o hay una razón válida para hacerlo?

57voto

Jon Skeet Puntos 692016

No, eso es completamente inútil. Tendría sentido utilizar:

// Note capital B
Boolean myFlag = Boolean.FALSE;

para evitar que la llamada a Boolean.valueOf (autoboxing), pero en el código no es ninguna de boxeo, y su sugerencia introduce una innecesaria unboxing de la operación.

Como siempre, si alguien sugiere algo y no entendemos por qué, su primer puerto de escala se debe preguntar a ellos.

10voto

whaley Puntos 8789

No hay nada de malo con el uso de palabras clave falsa. De hecho, en el código que había que ser tonto para usar Booleano.Falso, ya que está implícito un auto unboxing que tiene que ocurrir para asignar a su primitivo campo/variable (Boolean.Falso, es un Booleano y no es un valor booleano).

5voto

matt b Puntos 73770

No tiene mucho sentido como una queja, ya Boolean.FALSE es sin embalaje a false de todos modos. Pero tal vez pida a la gente que le dice a cambiar el código por qué?

0voto

ADTC Puntos 1786

Sólo puedo pensar en una razón, si realmente quieren cavar en busca de una razón posible:

En un IDE como Eclipse, usted puede hacer clic derecho en FALSE ( Boolean.FALSE) y seleccione Abrir Jerarquía de llamadas o Referencias > (opción). Usted no puede hacer eso con el literal false. Pero no sé que tan útil encontrar todas las referencias de Boolean.FALSE estará en sus ciclos de desarrollo.

Curiosamente, cuando busqué referencias de FALSE, se encontró llena todo el Java core (JDK/JRE) código fuente! Si queremos usar o no, una cosa es segura, los chicos que se codificaron y mantener Java está utilizando mucho.

Como por otras respuestas, de cualquier modo, es innecesaria y sólo se puede utilizar el literal false, especialmente si el rendimiento es importante evitar el unboxing de la sobrecarga. Revisiones de código debe priorizar optimizado legible/adecuada-código comentado sobre unoptimized un código legible.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X