jsinterop java gwt boolean

java - jsinterop - gwt js interop



¿Cuál es la diferencia entre Boolean y Boolean en Java? (8)

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: booleano (booleano), booleano (cadena), parseBoolean (cadena ), toString (boolean), valueOf (boolean), 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 asegurarse de que debe medir (y tener en cuenta que esto puede diferir según el navegador / versión que esté midiendo).

El tipo de objeto booleano normalmente no se usa con mucha frecuencia, ya que el tipo nativo booleano es más natural (no es necesario verificar nulo todo el tiempo).

Esta pregunta ya tiene una respuesta aquí:

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.


Debido a que Boolean puede ser nulo, se puede usar para la carga diferida.

if(hasRoots == null){ calculateRoots(); }


En Java, un boolean es un literal true o false , mientras que Boolean es un contenedor de objetos para un boolean .

Raramente hay una razón para usar un Boolean sobre un boolean excepto en los casos en que se requiere una referencia de objeto, como en una List .

Boolean también contiene el método estático parseBoolean(String s) , del que ya puede estar al tanto.


En cuanto a GWT, son los mismos en GWT que en Java.
boolean es un primitivo y Boolean en un contenedor de objetos.


Es bastante simple y lo mismo para GWT y Java:

  • Boolean puede ser sí o no
  • Boolean puede ser yes, no o NULL.

Así que, a menos que necesite el valor NULL (como, por ejemplo, cargar el campo desde la base de datos, y quiere que NULL sea diferente a falso), luego se adhiere a boolean.


Java tiene tipos primitivos (int, boolean, float, etc.) y cada vez que desee utilizarlos como una instancia de un objeto, se envolverán en un tipo de Clase asociado. Por ejemplo, los booleanos son envueltos por Booleanos, int como Integer, etc.

Tiene sus beneficios 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.


No estoy seguro de si el factor GWT hace una diferencia, pero en general:

boolean es un tipo primitivo java, mientras que booleano es un tipo de objeto / referencia que envuelve un booleano

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 preguntas?

http://java.sun.com/j2se/1.5.0/docs/guide/language/autoboxing.html

http://www.javapractices.com/topic/TopicAction.do?Id=197


boolean es un tipo primitivo, mientras que Boolean es una clase contenedora. El nombre se aplica a (int, Integer), (long, Long) etc. Las clases de contenedor "envuelven" el tipo de datos primitivo respectivo en un objeto de esa clase.

Se usan con colecciones, ya que los tipos primitivos no se permiten 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 de contenedor de caracteres tiene métodos como:

isDigit () - para determinar si el caracter es un dígito. isLower () - para determinar si el carácter es minúsculo alfabeto. es Letter () - para determinar si el personaje es un alfabeto.

no podemos usar los métodos anteriores si usamos un tipo primitivo en comparación con una clase contenedora.