¿Tiene algún sentido o no?¿Qué valor es mejor usar? Boolean true o Integer 1?
Respuesta
Un booleano true
es, bueno, un valor booleano. Úselo siempre que quiera expresar que se cumple una cierta condición binaria.
El entero literal 1
es un número. Úselo, siempre que esté contando algo.
No utilice enteros para booleanos y viceversa. Ellos son diferentes.
Considere la posibilidad de una variable int isEnabled
. Por supuesto, puedo suponer que 0
y 1
pueden ser los únicos valores previstos para esta variable. Pero en lo que respecta al lenguaje, nada me impide asignar 4247891
. Sin embargo, el uso de un valor booleano restringe los valores válidos a true
y false
. Esto no deja lugar para la especulación.
(C++ int de Bools y son algo convertibles, pero es generalmente mal visto)
recomiendo el uso de true
si su tipo es lógicamente un valor lógico. Esto será mucho más claro en términos de intención, lo que hace que su código sea más fácil de mantener.
¿Para qué? Use un booleano para un booleano; Usa un número entero cuando estás contando algo.
- 1. Conversión de tipo de JavaScript: (true && 1) vs (true | | 1)
- 2. Qué valores se deben usar para el campo Mysql BOOL: TRUE/FALSE o 1/0, ¿por qué?
- 3. JSON values 1 o 0 - int o boolean
- 4. ¿Es mejor usar archivos de varios idiomas o 1?
- 5. ¿Qué es mejor usar: Convert.ToX o X.Parse (...)?
- 6. ¿Por qué usar 'redirect = true' en struts 1. * forward?
- 7. Con Entity Framework, ¿es mejor usar .First() o .Take (1) para "TOP 1"?
- 8. ¿Qué es mejor ?: (reducir + ...) o (aplicar + ...)?
- 9. ¿Cuál es la mejor representación de valor para boolean en DICOM?
- 10. ¿Qué es/bin/true
- 11. ¿Por qué MySQL interpreta Boolean como TINYINT (1) en lugar de BIT (1)?
- 12. GSON Serialize boolean a 0 ó 1
- 13. ¿Qué es mejor usar array o List <>?
- 14. ¿Qué es mejor usar varios AsyncTask o HandlerThread (Thread Pipeline)?
- 15. ¿Qué es mejor usar en CSS, porcentaje o píxeles?
- 16. SQL: ¿Es eficiente usar tinyint en lugar de Integer si mi valor máximo es 255?
- 17. Confusión BOOLEAN o TINYINT
- 18. php string comparasion to 0 integer devuelve true?
- 19. HQL: Usar Boolean en consultas con nombre
- 20. ¿Es mejor usar ob_get_contents() o $ text. = 'Test';
- 21. En Javascript, ¿por qué [1, 2] == [1, 2] o ({a: 1}) == ({a: 1}) es falso?
- 22. Boolean vs tinyint (1) para valores booleanos en MySQL
- 23. ¿Es mejor usar Lista o Colección?
- 24. MySQL 'truncado valor INTEGER incorrectos'
- 25. ¿Es mejor usar una lista de pares o dos listas?
- 26. ¿Qué es mejor XPath o Linq2Xml
- 27. ¿Qué es mejor, Nagios o Sensu?
- 28. ¿Qué es mejor, ETL o ELT?
- 29. ¿Debo usar ApplyUpdates (0) o ApplyUpdates (-1)?
- 30. Comprobar si boolean es verdadero
Boolean es también mucho más pequeño en términos de memoria. –
Solo para agregar una referencia a lo que Justin Satyr está diciendo: Los enteros generalmente son 4 bytes (32 bits) mientras que los de Boolean son de 1 byte (8 bits). Todos dependen de la plataforma, pero para todas las plataformas principales sé que esto es correcto. (Sí, un booleano debería ser, en un mundo perfecto, de 1 bit, sin embargo, es imposible hacer referencia solo a un bit en la memoria) –
@Justin Satyr Un lote más pequeño es std :: vector en comparación con std :: vector en otros casos debes tener en cuenta la alineación. –
Begemoth