J'ai passé en revue et programmé toute ma logique de niveau de domaine aux interfaces. Maintenant, je trouve que lorsque je veux mettre des données dans un bean, le bean ne fonctionne pas parce que les interfaces de collection (Collection, List, Set, etc) n'implémentent pas Serializable. Dois-je refactoriser tout mon code pour utiliser des types de béton ou y a-t-il un meilleur plan d'action ici?Pouvez-vous programmer des collections Java sur une interface et utiliser Serializable?
4
A
Répondre
5
Si votre classe implémente Serializable
et que tous ses membres sont sérialisables, l'objet peut être sérialisé correctement. Exemple:
public class Person implements Serializable {
private String name;
private Collection<Integer> luckyNumbers = new ArrayList<Integer>();
}
Tant que par exemple l » luckyNumbers
est sérialisable (comme ArrayList
), et ses membres sont sérialisable (dans ce cas Integer
s), l'objet sérialisera.
0
Serializable
est une interface "marqueur". Il ne convient pas d'utiliser un type de référence. Vivez avec un peu de frappe dynamique (bien qu'il n'y ait rien pour vous empêcher d'utiliser un vérificateur de type statique externe).
Vous pourriez sauter à travers les cerceaux avec des méthodes génériques paramétrées bizarres, mais ce serait extrêmement moche et les bibliothèques Java ne le font pas, donc vous seriez arrosé de toute façon.
Questions connexes
- 1. Programmer une interface utilisateur pour un petit appareil
- 2. Comment utiliser JPL (interface bidirectionnelle Java/Prolog) sur Windows?
- 3. Comment spécifier génériquement une liste Serializable
- 4. Comment puis-je programmer une interface graphique dans MATLAB?
- 5. Java: ObjectOutputStream avec le problème Serializable
- 6. C# Génériques et collections
- 7. Attributs sur une interface
- 8. Generics et de verrouillage sur les collections
- 9. Carte des collections
- 10. Comment créer des onglets Google Chrome et une interface Menubar dans Java Swing?
- 11. interface Java « Alias »
- 12. Utiliser django-rest-interface
- 13. Comment utiliser deux fois la même interface avec des paramètres de modèle différents, dans une interface?
- 14. classes partielles Serializable
- 15. Collections de collections et gestion de la mémoire Objective-C
- 16. C# - Collections et coulée
- 17. Programmer des appels de délégué
- 18. Nhibernate, collections et compositeid
- 19. Comment programmer une application audio/vidéo sur un réseau?
- 20. Quelle est l'utilisation des attributs sur une interface?
- 21. Pour utiliser des collections génériques imbriquées ou des classes intermédiaires personnalisées?
- 22. OOP design et Listes et collections (C#)
- 23. comment détecter et programmer autour des secousses pour l'iphone
- 24. Interface clonable obligatoire en Java
- 25. trouver des objets de référence faibles dans les collections en java
- 26. Sur OS X, séparant une interface graphique en plusieurs fichiers NIB et NSView sous-classes
- 27. Quels services Web/Interface utiliser?
- 28. Devrais-je utiliser une interface pour les codes de type?
- 29. Puis-je utiliser des expressions régulières pour trouver une méthode sur une classe dans java?
- 30. Une interface utilisateur sur Windows Workflow
Mes instances sont sérialisables, je crois. Est-ce vrai pour Java 5 seulement? –
Avez-vous une référence? Avez-vous testé cela? Si oui, je vais supprimer ma réponse. –
Non, cela vaut également pour Java 1.4. Si votre collection est sérialisable, comme, par exemple, ArrayList, votre classe sera sérialisée correctement. – Jorn