1

je ne comprend pas.. en java on peut utiliser le type boolean ou la classe Boolean.
j'ai du utiliser la classe Boolean pour le passer dans un vecteur (je sais ya bitset pour ca, mais je dois le faire comme ca dans l'exo..).
je peux donc facilement creer l'objet:

Boolean a = new Boolean(true);
deja on ne peut pas le construre sans l'initialisé (cimer...)
apres je voulais changer sa valeur, et j'ai pas reussi a la changer :/

2

a = new Boolean(false);

trigic

ya pas de methode pour modifier la valeur ?
avatar
納 豆パワー!
I becamed a natto!!!1!one!

3

En gros on cree un deuxieme objet... ca m'a l'aire super crade le java quand meme...
genre ils aurait pas pu mettre en public l'attribut value!

4

utilise java 1.5
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

5

je ne peux pas car mon ecole ne l'utilise pas...
la difference avec 1.5?

6

Tu dois utiliser la classe Boolean pour manipuler un booléen ??
Ou tu as le droit d'utiliser un type simple booléen boolean ?

Parce que si tu dois utliser la classe Boolean, je saisis pas trop le sens de l'exo.

7

la difference avec 1.5?
Java 1.5 a pas mal d'invation comme classe genériques(l'equivalent des template C++), nouveau look&feel pour swing,...

Dans ton cas la nouveauté interessante c'est l'autoboxing. Java 1.5 convetit automatiquement les boolean,int,short,double,... en objets de classe correspondante (Boolean, Integer, Short,Double,...) et vice et versa comme il convertit les chaines de caractères en objets de classe String

avatar

8

Uther> Mais l'autoboxing était déjà présent dans java 1.4 non ? En tout cas la conversion boolean -> Boolean se faisait toute seule il me semble, mais peut-être pas l'inverse.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

9

Il me semble bien qu'aucune des deux n'était présente sur la 1.4.
avatar

10

Uther :
Il me semble bien qu'aucune des deux n'était présente sur la 1.4.

Il me semble aussi ...

La raison pour laquelle on ne peut pas utiliser un boolean dans un Vector c'est que le Vector gère une collection d'Object et non une collection de types primitifs boolean(qui ne sont pas des objets en Java). La classe Boolean permet d'envelopper un type boolean dans un objet, c'est pourquoi on peut ajouter un Boolean dans un Vector (car, par héritage, tous les objets sont des Object en Java).

Avec les génériques, on peut utiliser un Vector de boolean et gérer une collection de boolean (je ne suis pas sûr de la syntaxe):

Vector<boolean> bv = new Vector<boolean>();

Ça facilite de beaucoup la manipulation. Cependant, d'après ce que j'ai lu, il n'y a pas de gain en performance, contrairement aux templates du C++, car sous le capot, les classes génériques manipulent des Object.

11

Quesoft
: Ça facilite de beaucoup la manipulation. Cependant, d'après ce que j'ai lu, il n'y a pas de gain en performance, contrairement aux templates du C++, car sous le capot, les classes génériques manipulent des Object.

En Java ce n'est que du sucre syntaxique, pour éviter d'avoir à changer la VM. Contrairement au C# (et C++) où il y a vraiment des instanciations.
So much code to write, so little time.

12

nitro :
En Java ce n'est que du sucre syntaxique, pour éviter d'avoir à changer la VM. Contrairement au C# (et C++) où il y a vraiment des instanciations.

C'est ce que j'avais lu, je ne me souviens plus où (peut être même sur YN!).

13

le but de l'exo etant de manipuler tableau vecteur et bitset..
ca me decois beaucoup qu'on puisse pas changer la valeur d'un Boolean instancié... c meme tres ***

14

JonglageUp.gif#furtif#
Bruce Eckel a écrit : La classe Integer (de même que toutes les classes « wrapper » pour les scalaires) implémentent l'immuabilité d'une manière simple : elles ne possèdent pas de méthodes qui permettent de modifier l'objet.
avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

15

Ce que je trouve stupide, vu que généralement, quand on cherche à passer une référence vers un type de base, c'est justement pour le modifier...

Là, ça oblige à créer une classe dédiée ModifiableBoolean...
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

16

Rien n’empêche de modifier l'élément dans le vecteur plutôt que le contenu de cet élément ...

17

Euh, je me trompe en disant que dans Java 5.0 il y a une méthode justement pour modifier la valeur d'un objet Boolean? Sinon on s'en fout avec l'auto boxing et les génériques, ne peut-on pas faire comme suit?

maList.set(i, !maList.get(i));