2017-04-20 1 views
0

Dans la structure Zk lorsque la hiérarchie des composants enfants Parent est présente, lorsque vous souhaitez lire la valeur des composants enfants, nous devons vérifier instanceof xyz. par exemple (component instanceof Textbox) à chaque fois ou nous avons une autre option? instanceof est une opération très difficile qui peut causer des problèmes de performance.Dans le cadre ZK, lorsque le composant Parent a des composants enfants multi-niveaux, alors pour lire l'entité enfant, dois-je exécuter Instance of always?

Répondre

0

Si tous les enfants d'un composant sont du même type, vous pouvez utiliser le paramètre générique de Component.getChildren() pour éviter la coulée:

Collection<Textbox> children = parent.<Textbox> getChildren(); 

Il semble que dans votre cas, vous avez des enfants de type différent/inconnu. Dans ce cas, je ne vois pas comment vous pourriez éviter de vérifier et de lancer sans garder de références à chaque enfant.

+0

Merci pour la réponse, problème est le cas quand des enfants de divers types sont là, à ce moment-là, vous devez utiliser instanceof ce qui n'est pas bon je suppose. –

+0

Vous ne devriez pas vous soucier d'un impact sur les performances, instanceof n'est pas lent: http://stackoverflow.com/questions/103564/the-performance-impact-of-using-instanceof-in-java –

0

Si vous êtes sûr à 100% que nième enfant est une instance de xyz, alors vous venez de le lancer. Mais malheureusement, si vous remplissez dynamiquement le parent, le seul moyen est de vérifier chaque enfant.