Quelle est la signification de l'avertissement de sécurité de type dans certains lancements de génériques Java?

Quelle est la signification de l'avertissement Java ?

Type de sécurité: La conversion de Object à List est en fait vérifiée par rapport à la liste de types effacés

Je reçois cet avertissement lorsque j'essaie de convertir un objet en type avec des informations génériques, comme dans le code suivant:

Object object = getMyList();
List list = (List) object;
0
ajouté édité
Vues: 2
@Ian Le champ d'application de ce site a été défini à l'origine comme "site Q & A pour les programmeurs , DBA , cartographes, géographes et toute personne intéressée par le SIG"
ajouté l'auteur Kevin Dente, source
Si vous voulez vous débarrasser du soulignement jaune dans Eclipse, mais que vous ne voulez pas ajouter @SuppressWarning , vous avez la possibilité d'ignorer l'avertissement dans les préférences. Dans la fenêtre de préférences, allez dans Java> Compilateur> Erreurs / Avertissements , puis dans la section Types génériques , changez l'option Opération de type générique non contrôlé Ignorer
ajouté l'auteur Axel, source
cela peut être mieux demandé sur StackOverflow lorsque vous posez des questions sur la programmation.
ajouté l'auteur Ian, source

10 Réponses

C'est la meilleure caractéristique du sandvich!

Cela fonctionne exactement comme un pack santé. C'est génial de pouvoir donner un sandwich à votre médecin, car il n'a pas de moyen rapide de se guérir soi-même. Le sandvich ne se régénérera pas après l'expiration de la minuterie - vous devez toujours trouver un pack santé ou un distributeur.

Also, if you are under pressure and dont have time to eat the sandvich, you can drop it and walk over it. It only heals 50%, but the speed is the upside. Many times I'm being chased, I turn a corner, throw the sandvich, run over it, turn around, and mow down my attacker. This has been patched for a while now. Sandviches will not replenish your health by simply dropping them and running over them.

Faites juste attention à ce que l'ennemi ne puisse pas l'atteindre en premier. Cela peut aussi les guérir.

29
ajouté
Eh bien, il y avait une mise à jour ninja. Le sandvich est maintenant sur le temps de recharge, et vous devez toujours trouver un pack santé.
ajouté l'auteur Anonymous User, source
Valve vient de changer le mécanisme de recharge de sanvich: les medipacks ne sont plus nécessaires pour le régénérer. Maintenant, il a un temps de recharge, comme bonk! par exemple.
ajouté l'auteur Keng, source
Pour autant que je sache, seules les choses qui réapprovisionnement (et un pack de santé) fonctionneront. Donc, un distributeur le fera, mais le panier ne le fera pas. Je pense que le chariot est la seule chose qui s'applique ici, et un medigun.
ajouté l'auteur doekman, source
Merci juste fatigué. Aussi remarqué en poussant le chariot (qui restaure hp) ne régénérera pas le sandwich.
ajouté l'auteur Adrian Clark, source
Il est également utile de laisser tomber le sandvich si son boost de 50% de HP vous ramènera à 100% et vous êtes près d'une minuscule recharge de santé; vous obtiendrez un coup de pouce beaucoup plus important et devrez seulement attendre que le temps de recharge expire avant de pouvoir l'utiliser ensuite. Cela vaut aussi pour guérir les autres, alors c'est souvent une meilleure idée de lancer le Sandvich pour, disons, un Medic blessé, de guérir, puis de ramasser le pack santé pour votre Sandvich.
ajouté l'auteur Riyaz Mohammed Ibrahim, source
Les Heavies qui ne jettent pas le sandvich à leur médecin brûlant ne font pas crédit à l'équipe!
ajouté l'auteur TM., source
Le patch vous permet de le récupérer maintenant si vous le survolez. Il vaut la peine de mentionner au cas où votre allié ne remarquerait pas votre généreux don.
ajouté l'auteur Zibbobz, source

Est-ce une application de bureau ou, disons une application Silverlight? Si c'est basé sur le Web, vous devez sauter à travers quelques cerceaux. Vous pouvez créer une vue qui expose WKT, puis analyser le côté client WKT dans les géométries WPF/Silverlight.

Si c'est une application de bureau, vous avez un peu plus facile. Il y a un bon exemple à le Code Project d'une visionneuse de géométrie SQL qui aidera à la fois sur le bureau ou sur le web .

Vous devez référencer Microsoft.SqlServer.Types.dll, trouvé dans Installation de SQL Server /100/SDK/Assemblies pour utiliser SQLGeometry ou SQLGeography directement.

Technologies like RIA don't understand these types but there is a work-around. Essentially you create a view that casts the geometry as a varbinary(max), use it in your OR mapper, RIA, LINQ, etc. and then convert it back on the client. There is a good tutorial here

Edition très en retard: Silverlight ne les acceptera pas non plus car les DLL précédemment mentionnées ne sont pas compilées avec Silverlight. Obtenir des versions compatibles Silverlight est haut sur la liste de souhaits de nombreux peuples!

16
ajouté

Vous pouvez utiliser l'API Silverlight ESRI pour visualiser les données spatiales stockées dans SQL Server 2008:

http://resources.esri.com/arcgisserver/apis/silverlight/index.cfm?fa=codeGalleryDetails&scriptID=16494

3
ajouté

take a look at sharpmap: http://sharpmap.codeplex.com/

1
ajouté

SharpMap est la meilleure solution. J'ai regardé tous les autres, et c'est de loin le plus robuste. Assurez-vous d'utiliser la version bêta 2.0, cependant. J'ai fait un post de blog à ce sujet (lien de téléchargement inclus). N'hésitez pas à y jeter un œil.

http://www. jasonkiesel.com/index.php/119/my-go-to-collection-of-net-gis-libraries/

1
ajouté

La bibliothèque FDO (Feature Data Objects) vous permet d'accéder à divers formats de données géospatiales (y compris SQL Server) via un ensemble unique d'interfaces unifiées.

La bibliothèque est en C ++, mais la bibliothèque est également fournie avec un wrapper .net.

http://fdo.osgeo.org

1
ajouté

Vous pouvez utiliser les types de données du serveur sql, vous pouvez les obtenir depuis nuget ou ici: http://www.microsoft.com/fr-fr/download /details.aspx?id=16177 (vers la fin de la page)

Après cela, vous pouvez utiliser nhibernate fluent, encore une fois à partir de nuget ou ce lien: (Impossible d'insérer le lien ici car il semble que je n'ai pas 10 reps ...)

After that, you will need a custom UserType to map the sql type to the clr type in nhibernate. Lucky for you, this guy made one : http://blogs.ugidotnet.org/mik/archive/2010/03/26/map-sql-server-2008-geography-type-with-fluent-nhibernate.aspx

J'espère que cela t'aides !

1
ajouté

This warning is there because Java is not actually storing type information at run-time in an object that uses generics. Thus, if object is actually a List, there will be no ClassCastException at run-time except until an item is accessed from the list that doesn't match the generic type defined in the variable.

Cela peut entraîner d'autres complications si des éléments sont ajoutés à la liste, avec ces informations de type générique incorrect. Tout code contenant toujours une référence à la liste mais avec les informations de type générique correct aura maintenant une liste incohérente.

Pour supprimer l'avertissement, essayez:

List<?> list = (List<?>) object;

Toutefois, notez que vous ne pourrez pas utiliser certaines méthodes telles que l'ajout car le compilateur ne sait pas si vous essayez d'ajouter un objet de type incorrect. Ce qui précède fonctionnera dans beaucoup de situations, mais si vous devez utiliser add, ou une méthode similaire restreinte, il vous suffira de souligner le trait jaune dans Eclipse (ou une annotation SuppressWarning ).

0
ajouté

Avez-vous regardé nHibernate ? Il utilise les types .NET spatiaux (décrits ci-dessus par dmbrubac) mais pourrait également communiquer avec d'autres systèmes DB que SQL Server.

Je ne sais pas si vous avez demandé le niveau d'interface utilisateur, mais voici mes 2 cents: j'ai travaillé avec SharpMap, GeoAPI et je me suis reposé il y a quelques années. Ils sont géniaux mais n'ont jamais atteint un stade où l'on peut dire qu'ils sont suffisamment matures pour être utilisés dans une application professionnelle. J'ai expérimenté l'API Silverlight et wpf d'ESRI il y a un an et j'ai créé deux prototypes qui utilisaient l'API. C'est génial, ce n'est pas gratuit mais c'est vraiment solide, à la pointe de la technologie et il fait tout ce que vous voulez faire et plus encore.

0
ajouté
Le bit UI est le bit facile, car nous avons notre moteur de visualisation.
ajouté l'auteur Kevin Dente, source

Si vous écrivez un client Web, vous pouvez utiliser le service de données spatiales ArcGIS, qui est actuellement fourni avec le produit MapIt d'Esri (voir http://resources.esri.com/MapIt ). Le service expose les tables SQL Server via un service Web RESTful. Le service Web utilise le format ArcGIS JSON, de sorte que les tables contenant des données spatiales SQL Server peuvent être consommées en tant que FeatureLayers dans les API Web ArcGIS. Si vous voulez un client de bureau, vous pouvez utiliser l'API WPF.

An alternative for desktop development is to use the SQL Server CLR Types that are included with the SQL Server feature packs. You can find the download page for the 2008 R2 feature pack here - http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=ceb4346f-657f-4d28-83f5-aae0c5c83d52. Scroll down or do a find for "CLR Types" to find the download link.

0
ajouté