Me gustaría entender la diferencia entre los tipos Boolean
y boolean
en Java, específicamente en lo que se refiere a GWT. Sé que los métodos no son compatibles, pero quiero más información si está disponible.¿Cuál es la diferencia entre booleano y booleano en Java?
Respuesta
no estoy seguro de si el factor de GWT hace una diferencia, pero en general:
booleano es un tipo primitivo de Java mientras que booleana es un tipo de objeto/referencia que envuelve un valor lógico
La conversión entre objetos primitivos y objetos como este se conoce como boxeo/unboxing.
Aquí hay más información:
http://javaeye.wordpress.com/2008/06/17/boxing-and-unboxing-conversion/
Por qué caja que usted pide?
http://java.sun.com/j2se/1.5.0/docs/guide/language/autoboxing.html
En Java, un boolean
es un literal o true
false
, mientras Boolean
es un contenedor de objeto para un boolean
.
rara vez hay una razón para utilizar un Boolean
durante un boolean
excepto en los casos en que se requiere una referencia de objeto, como por ejemplo en un List
.
Boolean
también contiene el método estático parseBoolean(String s)
, que ya conoce.
Java tiene tipos primitivos (int, boolean, flotador, etc.) y en cualquier momento que desee utilizar como una instancia de un objeto que están envueltos en un tipo de clase asociada. Por ejemplo, booleanos quedan envueltos por Booleanos, int como entero etc.
Tiene sus ventajas también. boolean no tiene métodos de ayuda (ya que no es una clase), pero Boolean sí. Entonces, si quiere convertir una cadena en booleana, puede probar Boolean.valueOf ("true").
Espero que ayude.
En cuanto a GWT, son iguales en GWT que en java.
boolean es un primative y Boolean en un contenedor de objetos.
Es bastante simple y lo mismo para GWT y Java:
- booleano puede ser sí o no
- de Boole puede ser sí, no o NULL.
De modo que, a menos que necesite el NULL (como por ejemplo, cargar el campo de la base de datos, y desea que NULL sea diferente de falso), luego pegue en boolean.
De acuerdo con los documentos de emulación GWT JRE (http://code.google.com/webtoolkit/doc/1.6/RefJreEmulation.html) estos métodos son compatibles con el tipo booleano: Boolean (booleano), Boolean (String), parseBoolean (String), toString (booleano), valueOf (booleano), valueOf (String), booleanValue(), compareTo (Boolean), equals (Object), hashCode(), toString()
en cuanto a la diferencia entre los tipos de objeto booleanos y booleanos. Los objetos booleanos pueden estar en 3 estados, por lo que no es exactamente lo mismo. Pero si eso hace una diferencia en GWT (en cuanto al rendimiento) no tengo ni idea, supongo que no importa mucho, ya que el compilador GWT optimizará el código y la mayoría de las operaciones podrían simplemente mapearse a operaciones booleanas nativas de javascript.
Pero como de costumbre: para estar seguro, debe medir (y tener en cuenta que esto puede diferir en función de qué navegador/versión está midiendo).
El tipo de objeto Boolean normalmente no se usa con mucha frecuencia, ya que el tipo nativo booleano es más natural (no es necesario comprobar el nulo todo el tiempo).
Dado que Boolean puede ser nulo, se puede usar para la carga diferida.
if(hasRoots == null){
calculateRoots();
}
booleano es un tipo primitivo mientras que booleana es class.Same envoltura se aplica for (int, Integer), (Long, Long) etc. clases Wrapper "envolver" el respectivo tipo de datos primitivo en un objeto de esa clase.
Se utilizan con colecciones, ya que los tipos primitivos no están permitidos con colecciones. También el uso de clases de envoltura le da acceso a muchos métodos que puede invocar sobre ese objeto. Por ejemplo. La clase contenedora de caracteres tiene métodos como:
isDigit() - para determinar si el carácter es dígito. isLower(): para determinar si el carácter está en minúsculas. es Letter() - para determinar si el carácter es un alfabeto.
no podemos usar los métodos anteriores si usamos un tipo primitivo en comparación con una clase contenedora.
- 1. En Java, ¿cuál es el "orden de operaciones" booleano?
- 2. ¿Cuál es el tercer estado booleano en java?
- 3. booleano [] vs. BitSet: ¿Cuál es más eficiente?
- 4. Campo booleano mutable en Java
- 5. Cuál es el tamaño de booleano GLSL
- 6. si (booleano == false) vs si (booleano!)
- 7. ¿Cuál es la diferencia entre usar el operador == y el método Equals en un tipo booleano encuadrado?
- 8. Diferencia entre los tipos de hibernación: booleano, sí_no, verdadero_falso
- 9. ¿Cuál es la diferencia entre Boolean.TRUE y true en Java?
- 10. ¿Cuál es la diferencia entre Collection y List en Java?
- 11. ¿Cuál es la diferencia entre referencias y objetos en Java?
- 12. ¿Cuál es la diferencia entre interfaz y @interface en java?
- 13. ¿Cuál es la diferencia entre int.class y Integer.TYPE en java?
- 14. ¿Cuál es la diferencia entre? y Object en genéricos Java?
- 15. ¿Cuál es la diferencia entre a.getClass() y A.class en Java?
- 16. ¿Cuál es la diferencia entre Future y FutureTask en Java?
- 17. ¿Cuál es la diferencia entre + = y = +?
- 18. ¿Cuál es el valor booleano predeterminado en C#?
- 19. booleano conversión a Boolean en Java
- 20. ¿Cuál es la diferencia entre Java RMI y RPC?
- 21. ¿Cuál es la diferencia entre Java RMI y JMS?
- 22. Java: ¿Cuál es la diferencia entre autoboxing y casting?
- 23. ¿Cuál es la diferencia entre java y jsp?
- 24. ¿Cuál es la diferencia entre Java 1.6 y 1.7 jarsigner
- 25. ¿Cuál es la diferencia entre scala @Serializable y Java Serializable?
- 26. ¿Cuál es la diferencia entre JavaScript y Java?
- 27. Campo booleano en Oracle
- 28. Objeto booleano y problema de variable booleana en JAVA
- 29. Booleano en una consulta URI?
- 30. ¿cuál es la diferencia entre:.! y: r !?
¡Agradable ... rápido y sucio! =) –
no hay nada sucio al respecto. – rustyshelf
¡Tnx tanto! Explicación tan útil y clara – AndreaNobili