Java décoché ou activités dangereuses message
J'obtiens l'erreur suivante lors de la compilation d'un Java classe dans BlueJ.
AuctionManager.java uses unchecked or unsafe operations.
Cette erreur n'est affichée lorsque la désérialisation code est dans un de mes fonctions:
try {
ObjectInputStream in = new ObjectInputStream(new FileInputStream(Filename));
ArrayList<AuctionItem> AuctionList = (ArrayList<AuctionItem>) in.readObject();
in.close();
}
catch (Exception e) {
e.printStackTrace();
}
Puis-je s'il vous plaît avoir quelques informations sur les raisons de cette erreur est affiché, et un peu d'aide pour l'utilisation de la désérialisation code sans erreur.
Vous devez vous connecter pour publier un commentaire.
D'abord le message que vous obtenez n'est pas une erreur, c'est un avertissement, il n'a pas à vous empêcher de programme à partir de la compilation ou d'exécution.
Comme pour la source, c'est cette ligne:
ArrayList<AuctionItem> AuctionList = (ArrayList<AuctionItem>) in.readObject();
Puisque vous êtes le coulage d'un objet (
readObject
retourne unObject
) à un type paramétré (ArrayList<AuctionItem>
).user2351151: Vous pouvez faire cela pour un avertissement de ne pas montrer:
Vous devez réécrire ArrayList avec explicit de conversion de type (vous pouvez utiliser temporaire ArrayList sans paramétrées en type).