gwt bool? - Quelle est la différence entre booléen et booléen en Java?





informatique algorithme (8)


Java a des types primitifs (int, boolean, float, etc) et chaque fois que vous souhaitez les utiliser comme une instance d'un objet, ils sont enveloppés dans un type de classe associé. Par exemple, les booléens sont enveloppés par des booléens, int comme entier, etc.

Il a aussi ses avantages. boolean n'a pas de méthodes auxiliaires (puisque ce n'est pas une classe), mais Boolean le fait. Donc, si vous voulez convertir une chaîne en un booléen, vous pouvez essayer Boolean.valueOf ("true").

J'espère que cela pourra aider.

Cette question a déjà une réponse ici:

Je voudrais comprendre la différence entre les types boolean et boolean en Java, spécifiquement en ce qui concerne GWT. Je sais que les méthodes ne sont pas supportées mais je veux plus d'informations si elles sont disponibles.




boolean est un type primitif alors que Boolean est classe wrapper.Same s'applique à (int, Integer), (long, Long), etc. Les classes Wrapper "enveloppent" le type de données primitif correspondant dans un objet de cette classe.

Ils sont utilisés avec des collections, car les types primitifs ne sont pas autorisés avec les collections. En outre, l'utilisation de classes wrapper vous donne accès à de nombreuses méthodes que vous pouvez appeler sur cet objet. La classe wrapper de caractères a des méthodes comme:

isDigit () - pour déterminer si le caractère est un chiffre. isLower () - pour déterminer si le caractère est en minuscule. est Lettre () - pour déterminer si le caractère est un alphabet.

nous ne pouvons pas utiliser les méthodes ci-dessus si nous utilisons un type primitif par rapport à une classe wrapper.




C'est assez simple et identique pour GWT et Java:

  • booléen peut être oui ou non
  • Boolean peut être oui, non ou NULL.

Donc, sauf si vous avez besoin de la valeur NULL (comme par exemple, vous chargez le champ à partir de la base de données, et vous voulez que NULL soit différent de false) alors tenez-vous en booléen.




En Java, un boolean est un littéral true ou false , alors que Boolean est un wrapper d'objet pour un boolean .

Il y a rarement une raison d'utiliser un Boolean sur un boolean sauf dans les cas où une référence d'objet est requise, comme dans une List .

Boolean contient également la méthode statique parseBoolean(String s) , que vous connaissez peut-être déjà.




Je ne suis pas sûr que le facteur GWT fasse une différence mais en général:

boolean est un type primitif java alors que Boolean est un objet / type de référence qui enveloppe un booléen

La conversion entre les primitives et les objets de ce type est connue sous le nom de boxing / unboxing.

Voici plus d'informations:

http://javaeye.wordpress.com/2008/06/17/boxing-and-unboxing-conversion/

Pourquoi la boîte que vous demandez?

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

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




Parce que Boolean peut être nul, il peut être utilisé pour un chargement paresseux.

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



En ce qui concerne GWT, ils sont les mêmes dans GWT que dans Java.
boolean est un primatif et un Boolean dans un wrapper d'objet.




@Component – Indicates a auto scan component.  
@Repository – Indicates DAO component in the persistence layer.  
@Service – Indicates a Service component in the business layer.   
@Controller – Indicates a controller component in the presentation layer.  

Vous remarquerez que tous @Repository , @Service ou @Controller sont annotés avec @Component . Alors, pouvons-nous utiliser seulement @Component pour tous les composants pour l'analyse automatique? Oui, vous le pouvez, et Spring analysera automatiquement tous vos composants avec @Component annoté.

Cela fonctionne bien, mais ce n'est pas une bonne pratique, pour des @Repository de lisibilité, vous devez toujours déclarer @Repository , @Service ou @Controller pour une couche spécifiée afin de rendre votre code plus lisible.





java gwt boolean