|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre régulier
![]() |
Bonjour,
J’ai une question de grammaire Java. Je suis en train d’étudier un peu JavaFX, et je viens de découvrir une syntaxe que je ne comprends pas très bien. Voici un exemple : Code :
Voici d'autres exemples d'utilisation des "<...>" : Code :
Code :
ObservableList<Person> data = tableView.getItems(); Quelqu'un pourrait-il éclairer ma lanterne ?
__________________
le problème se situe souvent entre la chaise et le clavier. @@++ |
||||
|
|
00
|
|
|
#2 |
|
Invité(e)
![]() Messages : n/a ![]() |
Ouaip, Person est la classe des objets contenus dans la collection.
Pour tableCell<S,T> , je t invite à aller voir ce lien pour le cas tableColumn où S et T sont détaillés : http://docs.oracle.com/javafx/2/api/...bleColumn.html Sauf que dans le cas d une cellule, T devient: The type of the item contained within the Cell. Voila chef |
00
|
|
|
#3 |
|
Membre régulier
![]() |
Merci pour cette réponse !
En fait ma question était d'ordre générique au niveau du langage java ! Que veulent dire ces deux caractère ? L idée étant de comprendre et de pouvoir le reproduire !
__________________
le problème se situe souvent entre la chaise et le clavier. @@++ |
|
|
00
|
|
|
#4 |
|
Invité(e)
![]() Messages : n/a ![]() |
En gros en java, c est généralement tout simplement le type d objets (donc la classe) contenus par exemple dans les collections et plus généralement dans tout conteneur (ex: tout ce qui s apparente à java.util.arraylist, set, list,...).
Après, rien ne t'empêche de mettre <Object> et de mettre des objets de type différent. Cependant, il faudra les convertir lors de la récupération dans le bon type. Voilà. Dernière modification par vinou92340 ; 26/12/2012 à 10h41. |
00
|
|
|
#5 | ||||||||||
|
Expert Confirmé Sénior
![]() ![]() Développeur Java/Web Inscription : avril 2002 Messages : 12 654 ![]() |
Salut,
Il s'agit des "types paramétrés", aussi nommées "Generics". Lorsque tu définis une classe, tu peux lui associé un ou plusieurs types paramétrés, que tu pourras réutiliser partout ailleurs dans cette même classe. Par exemple prenons la classe suivante : Code :
Le problème lorsque tu utilises cette classe, c'est que tout passe par objet et que rien n'est vérifié à la compilation. Il te faut rajouter des cast pour faire compiler le code. Le problème c'est que du coup il n'est pas sûr, si tu fais ceci par exemple : Code :
Pour éviter cela on va rajouter un type paramétré à la classe, ce qui nous donne le code suivant (par convention les types paramétrés sont composé d'une seule lettre en majuscule) Code :
Du coup désormais lorsqu'on va utiliser notre objet "MyType", il faudra préciser le type, par exemple : Code :
Si on reprend le code précédent, on n'a plus besoin de caster, et même si on fait un cast incorrect le compilateur pourra nous le signaler dès la compilation (ce qui permet d'éviter de faire passer des erreurs involontaires) : Code :
Il y a plein d'autres spécificités et cas d'utilisation, mais en clair les Generics permettent un code plus sécurisé, en indiquant au compilateur les types avec lesquels on souhaite travailler. Plus d'info ici : http://lroux.developpez.com/article/...ge_5#Lgenerics a++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java |
||||||||||
|
00
|
|
|
#6 |
|
Membre régulier
![]() |
Merci adiGuba !
Tu as vraiment bien répondu à ma question. Je vais lire le tutoriel de Lroux sur les générics pour approfondire ma connaissance de cet outil.
__________________
le problème se situe souvent entre la chaise et le clavier. @@++ |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com