Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1830 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3  4  5  6  7  8  9  10  11  12
Auteur Sujet :

que pensez-vous des nouvelles spécification de java 1.5

n°518563
benou
Posté le 19-09-2003 à 22:10:43  profilanswer
 

Reprise du message précédent :
voilà une url où on peut voir la future API de gestion de concurrence (JSR 166) :  
http://gee.cs.oswego.edu/dl/concur [...] index.html
 
on y voir aussi la tête de quelques classes de java.util avec la généricité. Intéressant.


---------------
ma vie, mon oeuvre - HomePlayer
mood
Publicité
Posté le 19-09-2003 à 22:10:43  profilanswer
 

n°520611
etheriel
Posté le 22-09-2003 à 19:53:30  profilanswer
 

[:blueflag]


Message édité par etheriel le 22-09-2003 à 19:54:07
n°520668
benou
Posté le 22-09-2003 à 21:14:17  profilanswer
 

tiens, je viens de repérer un truc intéressant :)
 
http://gee.cs.oswego.edu/dl/concur [...] #toArray(T[])

Citation :

public <T> T[] toArray(T[] a)


 
c'est un exemple de généricité sur une méthode. Je suis pas certain de savoir comment ca va s'utiliser ca ...

Code :
  1. // tout betement comme ca ?
  2. String[] tab = coll.toArray(new String[coll.getSize()]);
  3. //ou bien comme ca ? (pour reprendre la syntaxe du new Toto<GenType>())
  4. String[] tab = coll.toArray<String>(new String[coll.getSize()]);


 
en tout cas, je sais pas ce que vous en pensez, mais ca simplifie pas la lecture de la javadoc :/


Message édité par benou le 22-09-2003 à 21:14:35

---------------
ma vie, mon oeuvre - HomePlayer
n°520670
the real m​oins moins
Posté le 22-09-2003 à 21:17:19  profilanswer
 

ta premiere suggestion c'est la meme chose que mtnt , au cast près non?
 
d'un autre coté pourquoi faudrait-il utiliser une notation particuliere si ta collection a été declarée comme generic de String par exemple?
(String[] pouet = coll.toArray(); // ça ça serait bien :D )


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°520675
benou
Posté le 22-09-2003 à 21:20:13  profilanswer
 

the real moins moins a écrit :

ta premiere suggestion c'est la meme chose que mtnt , au cast près non?


ouais

the real moins moins a écrit :


d'un autre coté pourquoi faudrait-il utiliser une notation particuliere si ta collection a été declarée comme generic de String par exemple?
(String[] pouet = coll.toArray(); // ça ça serait bien :D )


ben ouais mais regarde la javadoc : ca a pas l'air d'être le cas ... en fait ca me parait louche maintenant que j'ai branché mon 2e neurone :/


---------------
ma vie, mon oeuvre - HomePlayer
n°520678
the real m​oins moins
Posté le 22-09-2003 à 21:21:34  profilanswer
 

Citation :

Suppose l is a List known to contain only strings. The following code can be used to dump the list into a newly allocated array of String:
 
     String[] x = (String[]) v.toArray(new String[0]);
 


 
euh ouais et donc y'a quoi de nouveau la dedans [:autobot]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°520679
the real m​oins moins
Posté le 22-09-2003 à 21:22:45  profilanswer
 

tiens

Citation :

public interface Collection<E>
extends Iterable<E>

ça aussi c'est nouveau :??:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°520699
benou
Posté le 22-09-2003 à 21:34:35  profilanswer
 

the real moins moins a écrit :

tiens

Citation :

public interface Collection<E>
extends Iterable<E>

ça aussi c'est nouveau :??:


ouais mais je crois que j'en avais déjà parlé : Iterable c'est la collection qui permet de faire que ton objet fonctionne avec le "foreach"


---------------
ma vie, mon oeuvre - HomePlayer
n°520700
benou
Posté le 22-09-2003 à 21:35:56  profilanswer
 

the real moins moins a écrit :

euh ouais et donc y'a quoi de nouveau la dedans [:autobot]


c'est p'tete la javadoc qui est pas à jour :/
 
faudrait que je me décide à télécharger la version beta de la jdk 1.5 :/


---------------
ma vie, mon oeuvre - HomePlayer
n°520703
the real m​oins moins
Posté le 22-09-2003 à 21:39:26  profilanswer
 

benou a écrit :


c'est p'tete la javadoc qui est pas à jour :/
 
faudrait que je me décide à télécharger la version beta de la jdk 1.5 :/

ha bon c dispo !?
 
pour Iterable, ok :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
mood
Publicité
Posté le 22-09-2003 à 21:39:26  profilanswer
 

n°520706
benou
Posté le 22-09-2003 à 21:41:57  profilanswer
 


depuis quelques mois déjà ...


---------------
ma vie, mon oeuvre - HomePlayer
n°520711
benou
Posté le 22-09-2003 à 21:44:44  profilanswer
 

benou a écrit :


depuis quelques mois déjà ...


pardon. C'est pas le jdk1.5 beta c'est juste un compiler avec l'ajout des generics : http://developer.java.sun.com/deve [...] index.html (login)


---------------
ma vie, mon oeuvre - HomePlayer
n°520718
the real m​oins moins
Posté le 22-09-2003 à 21:45:52  profilanswer
 

benou a écrit :


pardon. C'est pas le jdk1.5 beta c'est juste un compiler avec l'ajout des generics : http://developer.java.sun.com/deve [...] index.html (login)

aaaaaah:)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°520723
benou
Posté le 22-09-2003 à 21:46:29  profilanswer
 

et ici on peu avoir accès à la javadoc de l'api java avec les generics : http://jcp.org/aboutJava/community [...] index.html


---------------
ma vie, mon oeuvre - HomePlayer
n°520773
nraynaud
lol
Posté le 22-09-2003 à 22:25:49  profilanswer
 

Code :
  1. Interface Map<K,V>


super le nom des types génériques, y'a vraiment personne pour leur donner un nom correct (voir les MLs et leurs amis, le C++ etc.).

n°520795
benou
Posté le 22-09-2003 à 22:56:28  profilanswer
 

nraynaud a écrit :

Code :
  1. Interface Map<K,V>


super le nom des types génériques, y'a vraiment personne pour leur donner un nom correct (voir les MLs et leurs amis, le C++ etc.).


K = Key
V = Value
 
mais je suis d'accord : interface Map<Key, Value> ca aurait été bien plus clair :/


---------------
ma vie, mon oeuvre - HomePlayer
n°520821
the real m​oins moins
Posté le 22-09-2003 à 23:28:29  profilanswer
 

Ben en meme temps c'est des noms de classes déjà pris, et ça aurait rallongé d'autant la declaration pour pas gd chose :o
 


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°520826
benou
Posté le 22-09-2003 à 23:34:46  profilanswer
 

the real moins moins a écrit :

Ben en meme temps c'est des noms de classes déjà pris, et ça aurait rallongé d'autant la declaration pour pas gd chose :o


attend la lisibilité c'est important !!! les noms de classe à 1 lettre c'est carrément mal !! :/


---------------
ma vie, mon oeuvre - HomePlayer
n°520832
the real m​oins moins
Posté le 22-09-2003 à 23:41:22  profilanswer
 

benou a écrit :


attend la lisibilité c'est important !!! les noms de classe à 1 lettre c'est carrément mal !! :/

ben justement c'est pas un nom de classe là (si?), c'est juste une indication pour la syntaxe à suivre nan?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°520871
benou
Posté le 23-09-2003 à 00:16:55  profilanswer
 

the real moins moins a écrit :

ben justement c'est pas un nom de classe là (si?)


nom bien sûr mais ca remplace un nom de classe => c'est pareil ... je sais pas ... ca te trouble pas de voir toutes ce sméthodes avec un objet de type E en paramêtre ? :/


---------------
ma vie, mon oeuvre - HomePlayer
n°520875
the real m​oins moins
Posté le 23-09-2003 à 00:20:11  profilanswer
 

benou a écrit :


nom bien sûr mais ca remplace un nom de classe => c'est pareil ... je sais pas ... ca te trouble pas de voir toutes ce sméthodes avec un objet de type E en paramêtre ? :/

ben c pas un objet ni un parametre ;)
question d'habitude je crois...
 
 
par contre, je pige pas pourquoi ils ont pas betement fait ça, pour le constructeur:
Collection(Class c)
 
et paf.
d'ailleurs ça doit etre implementable en jdk1.4 ...  [:core 666]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°520878
benou
Posté le 23-09-2003 à 00:22:31  profilanswer
 

the real moins moins a écrit :

ben c pas un objet ni un parametre ;)
question d'habitude je crois...


ouais ok mais dans l'esprit c'est pareil ...

the real moins moins a écrit :


par contre, je pige pas pourquoi ils ont pas betement fait ça, pour le constructeur:
Collection(Class c)
et paf.
d'ailleurs ça doit etre implementable en jdk1.4 ...  [:core 666]  


le but c'est de faire du type-safe : faire de la vérif à la compile, pas à l'execution... C'est pas en passant la Class que tu pourras déterminer le type de retour d'une fonction à la compile [:spamafote]


---------------
ma vie, mon oeuvre - HomePlayer
n°520884
the real m​oins moins
Posté le 23-09-2003 à 00:30:12  profilanswer
 

benou a écrit :


ouais ok mais dans l'esprit c'est pareil ...
 
le but c'est de faire du type-safe : faire de la vérif à la compile, pas à l'execution... C'est pas en passant la Class que tu pourras déterminer le type de retour d'une fonction à la compile [:spamafote]

ha oui j'oubliais :)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°520889
benou
Posté le 23-09-2003 à 00:41:27  profilanswer
 

[citation=520678,9][nom]the real moins moins a écrit[/nomeuh ouais et donc y'a quoi de nouveau la dedans [:autobot]
[/citation]
c'était bien la javadoc qui était pa à jour :
 

Citation :


public <T> T[] toArray(T[] a)
[...]
 Suppose l is a List<String>. The following code can be used to dump the list into a newly allocated array of String:  
 
     String[] x = v.toArray(new String[0]);


 
 
par contre, je comprend pas pkoi c'est pas pkoi la méthode toArray() a cette signature :

Citation :

public java.lang.Object[] toArray()


et pas celle là

Citation :

public E[] toArray()


c'est con :/
 
peut-être parce que (String[]) instanceof (Object[]) est faux et que donc ca posait des problèmes de pérénité du code existant ... je sais pas ....


---------------
ma vie, mon oeuvre - HomePlayer
n°520896
the real m​oins moins
Posté le 23-09-2003 à 00:52:12  profilanswer
 

Citation :

String[] x = v.toArray(new String[0]);

c'est pas un peu débile ça? puisque qd tu passes pas cet argument c'est un Object[] qui est renvoyé; mais en l'occurence le type il est connu donc quel interet de le passer en argument?
 
j'ai pas compris ta 2e remarque, reformule stp [:core 666]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°520899
benou
Posté le 23-09-2003 à 01:01:34  profilanswer
 

the real moins moins a écrit :

Citation :

String[] x = v.toArray(new String[0]);

c'est pas un peu débile ça? puisque qd tu passes pas cet argument c'est un Object[] qui est renvoyé;  


 :non:  
c'est un String[] de la bonne taille. Le type retourné est le même que le type en paramêtre.
 

the real moins moins a écrit :


j'ai pas compris ta 2e remarque, reformule stp [:core 666]  


ben pour assurer la pérénité du code existant, il faut que quand tu utilises la généricité, les classes qui utilisent encore les classes de base (avec object) fonctionne toujours =>
imaginant qu'une ancienne classe fasse :
Object[] tab = coll.toArray();
 
le jour où la collection devient une Collection<String>, si toArray renvoyait un String[], ca ferrait une erreur de compile.
 
faux edit : en fait, je dit une connerie : String[] est un Object[] :/


---------------
ma vie, mon oeuvre - HomePlayer
n°520900
the real m​oins moins
Posté le 23-09-2003 à 01:04:32  profilanswer
 

benou a écrit :


 :non:  
c'est un String[] de la bonne taille. Le type retourné est le même que le type en paramêtre.


c'est un appel à l'image foireuse ça :D
et euh, en 1.4 le type retourné est celui passé en parametre. mais en 1.5 je vois pas l'interet de passer le type si la collection est generique
 

benou a écrit :


ben pour assurer la pérénité du code existant, il faut que quand tu utilises la généricité, les classes qui utilisent encore les classes de base (avec object) fonctionne toujours =>
imaginant qu'une ancienne classe fasse :
Object[] tab = coll.toArray();
 
le jour où la collection devient une Collection<String>, si toArray renvoyait un String[], ca ferrait une erreur de compile.
 
faux edit : en fait, je dit une connerie : String[] est un Object[] :/

ben ui, d'une part, et puis si ta collection devient collection<String>, le code ancien doit qd meme caster en String[] donc bon...
 
:??:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°520906
benou
Posté le 23-09-2003 à 01:20:39  profilanswer
 

the real moins moins a écrit :


c'est un appel à l'image foireuse ça :D


:lol:
 

the real moins moins a écrit :


et euh, en 1.4 le type retourné est celui passé en parametre. mais en 1.5 je vois pas l'interet de passer le type si la collection est generique


ben oui, c'est un peu ce que je disais ...
 

the real moins moins a écrit :


ben ui, d'une part, et puis si ta collection devient collection<String>, le code ancien doit qd meme caster en String[] donc bon...


ben non, ils peuvent pas caster un Object[] en String[] :  

Code :
  1. Collection coll = new ArrayList();
  2.  coll.add("coucou" );
  3.  Object[] tabObj = coll.toArray();
  4.  String[] tabString = (String[]) tabObj;


Citation :

java.lang.ClassCastException: [Ljava.lang.Object;
 at test.TestClassTab.main(TestClassTab.java:12)
Exception in thread "main"



---------------
ma vie, mon oeuvre - HomePlayer
n°520907
benou
Posté le 23-09-2003 à 01:24:06  profilanswer
 

méga-[:totoz]
 
ils ont fait la javadoc à la main !!!!  
 
dans le tableau des méthodes :  

Citation :

static <T> java.util.List<T> nCopies(int n, T o)  
          Returns an immutable list consisting of n copies of the specified object.


 
tu cliques sur la méthode et la signature de la méthode est  :

Citation :

public static <T> java.util.List nCopies(int n, T o)


List à la place de List<T> :/
 
 
c'est quoi ce travail de porchiot ???  :fou:


Message édité par benou le 23-09-2003 à 01:24:21

---------------
ma vie, mon oeuvre - HomePlayer
n°520908
the real m​oins moins
Posté le 23-09-2003 à 01:24:46  profilanswer
 

benou a écrit :


:lol:
 
 
ben oui, c'est un peu ce que je disais ...


 
euh ben moi aussi :??:
donc l'exemple donné etait débile?
et pq il passe un tableau vide? ([0])
 

benou a écrit :


ben non, ils peuvent pas caster un Object[] en String[] :  

Code :
  1. Collection coll = new ArrayList();
  2.  coll.add("coucou" );
  3.  Object[] tabObj = coll.toArray();
  4.  String[] tabString = (String[]) tabObj;


Citation :

java.lang.ClassCastException: [Ljava.lang.Object;
 at test.TestClassTab.main(TestClassTab.java:12)
Exception in thread "main"


 


ben ouais, et pour cause, ça doit s'écrire comme ça

Code :
  1. String[] tabStr = (String[]) coll.toArray(new String[coll.size()]);


donc, du code écrit comme ça n'aura pas de pb, et du code écrit pour la 1.5 pourra etre ecrit comme ça

Code :
  1. Collection colDeStrings = new Collection<String>();
  2. String[] tabStr = coll.toArray();


 
non?
 
c'est quoi le probleme déjà? [:core 666]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°520909
benou
Posté le 23-09-2003 à 01:26:42  profilanswer
 

the real moins moins a écrit :


euh ben moi aussi :??:
donc l'exemple donné etait débile?
et pq il passe un tableau vide? ([0])


C'est un tableau vide, mais de type String, donc le type retourné est de type String[] ... C'est un peu bête de mettre un tableau vide parce que ca oblige la méthode à recréer un tableau de la bonne taille ...


---------------
ma vie, mon oeuvre - HomePlayer
n°520910
the real m​oins moins
Posté le 23-09-2003 à 01:26:53  profilanswer
 

benou a écrit :

méga-[:totoz]
 
ils ont fait la javadoc à la main !!!!  
 

tu crois pas que c'est plutot le parser/doclet machin qu'est pas encore tout à fait au point? :p


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°520911
benou
Posté le 23-09-2003 à 01:27:43  profilanswer
 

the real moins moins a écrit :


donc, du code écrit comme ça n'aura pas de pb, et du code écrit pour la 1.5 pourra etre ecrit comme ça

Code :
  1. Collection colDeStrings = new Collection<String>();
  2. String[] tabStr = coll.toArray();



ben moi je suis bien d'accord, mais d'après la javadoc que j'ai sous les yeux, c'est pas le cas :/
 
et je vois pas de raison (j'avais cru mais en fait je m'étais trompé).


---------------
ma vie, mon oeuvre - HomePlayer
n°520912
the real m​oins moins
Posté le 23-09-2003 à 01:28:35  profilanswer
 

benou a écrit :


C'est un tableau vide, mais de type String, donc le type retourné est de type String[] ... C'est un peu bête de mettre un tableau vide parce que ca oblige la méthode à recréer un tableau de la bonne taille ...

ben ué mais c'est du 1.4-style ça !
en 1.5 le type (generique) de ta collection est connu, donc je vois pas l'interet de devoir passer ça en param
 
on tourne en rond  [:core 666]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°520913
benou
Posté le 23-09-2003 à 01:28:44  profilanswer
 

the real moins moins a écrit :

tu crois pas que c'est plutot le parser/doclet machin qu'est pas encore tout à fait au point? :p


ben je sais pas ...le coup du toArray() qui retourne un Object[] à la place d'un E[] me fait espérer que c'est une erreur  :sweat:


---------------
ma vie, mon oeuvre - HomePlayer
n°520914
the real m​oins moins
Posté le 23-09-2003 à 01:29:03  profilanswer
 

benou a écrit :


ben moi je suis bien d'accord, mais d'après la javadoc que j'ai sous les yeux, c'est pas le cas :/
 
et je vois pas de raison (j'avais cru mais en fait je m'étais trompé).

bon, on va dire que la javadoc est pas finalisée, et on va croiser les doigts alors :D


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°520915
benou
Posté le 23-09-2003 à 01:31:19  profilanswer
 

the real moins moins a écrit :

ben ué mais c'est du 1.4-style ça !
en 1.5 le type (generique) de ta collection est connu, donc je vois pas l'interet de devoir passer ça en param


ben va bien falloir qui la laisse la méthode pour des raison de compâtibiltés, même si c'est clair que je vois pu trop de raison de l'utiliser, sauf dans des cas tordus :
 

Code :
  1. Collection<Number> coll = new ArrayList<Number>();
  2. coll.add(new Integer(1));
  3. coll.add(new Integer(2));
  4. Integer[] tab = (Integer[]) coll.toArray(new Integer[coll.size()]);


Message édité par benou le 23-09-2003 à 01:31:51

---------------
ma vie, mon oeuvre - HomePlayer
n°520916
benou
Posté le 23-09-2003 à 01:32:08  profilanswer
 

the real moins moins a écrit :

bon, on va dire que la javadoc est pas finalisée, et on va croiser les doigts alors :D


 :sweat:


---------------
ma vie, mon oeuvre - HomePlayer
n°520922
os2
Posté le 23-09-2003 à 01:49:17  profilanswer
 

vous connaissez un endroit où il prendre les différence de performance pour lecture, écriture de fichier....tri...
pour différent jdk?


---------------
Borland rulez: http://pages.infinit.net/borland
n°520925
the real m​oins moins
Posté le 23-09-2003 à 01:52:41  profilanswer
 

benou, au fait, servlet2.4 et jsp2.0 c'en est ou? les jars sont officiellement dispos? et la doc?  
hier j'ai vu un tuto je crois mais genre le tuto du 2.3 updaté, pas un "what's new"... bon gt occupé à autre chose, j'ai pas cherché, suis juste tombé sur cette page en cherchant un truc...


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°520945
nraynaud
lol
Posté le 23-09-2003 à 05:56:29  profilanswer
 

the real moins moins a écrit :

Ben en meme temps c'est des noms de classes déjà pris, et ça aurait rallongé d'autant la declaration pour pas gd chose :o

Dans ce cas d'école oui, mais quand on va attaquer des objets beaucou plus balaises avec 5-6 paramètres génériques dont le rôle n'est pas trivial, ça va faire la différence.
 
 
Par contre, je verrais bien un suffixe style KEY_TYPE (pas trop esprit java le _) car ce ne sont pas des classes, pas la peine de chercher leur doc. Et ce ne sont pas des constantes donc pas de majuscules seulement.

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  6  7  8  9  10  11  12

Aller à :
Ajouter une réponse
 

Sujets relatifs
[ Java ] Faire un navigateur web en java[Java] Librairies tierces supportant le HTML 4.0 ? [résolu en partie]
[JAVA][C#]Meilleur performance entre C# et Java ?[ java ] transfert de fichiers dans un socket
[Java] erreur sous IntelliJ IDEA, sous Jbuilder non...Applet JAVA dans du DHTML
Petite aide pour la réalisation d'un sniffer en JAVA[java] rafraichissement jframe + info optimisation [OK]
[ java ] ecouteur sur un repertoire[java] sortie dans un fichier excel?
Plus de sujets relatifs à : que pensez-vous des nouvelles spécification de java 1.5


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR