कुछ जावा जेनेरिकों में टाइप सुरक्षा चेतावनी का अर्थ क्या है?

जावा चेतावनी का अर्थ क्या है?

सुरक्षा टाइप करें: ऑब्जेक्ट से सूची में कास्ट वास्तव में मिटाई गई प्रकार सूची

के विरुद्ध जांच कर रहा है

मुझे यह चेतावनी मिलती है जब मैं जेनेरिक जानकारी के साथ किसी ऑब्जेक्ट को ऑब्जेक्ट डालने का प्रयास करता हूं, जैसे निम्न कोड में:

Object object = getMyList();
List list = (List) object;
0
जोड़ा संपादित
विचारों: 1
@Ian इस साइट के लिए दायरा मूल रूप से "बी> प्रोग्रामर , डीबीए , कार्टोग्राफ़रों, भूगोलकारों और व्यावसायिक रूप से जीआईएस में दिलचस्पी रखने वाले किसी भी व्यक्ति के रूप में परिभाषित किया गया था" (जोर मेरा)
जोड़ा लेखक Kevin Dente, स्रोत
यदि आप एक्लिप्स में पीले अंडरलाइन से छुटकारा पाना चाहते हैं, लेकिन @SuppressWarning को जोड़ना नहीं चाहते हैं, तो आपके पास वरीयताओं में चेतावनी को अनदेखा करने का विकल्प है। वरीयता विंडो में, जावा> कंपाइलर> त्रुटियों / चेतावनियों पर जाएं, फिर सामान्य प्रकार अनुभाग के अंतर्गत, अनचेक जेनेरिक प्रकार ऑपरेशन विकल्प बदलें अनदेखा करें तक
जोड़ा लेखक Axel, स्रोत
जब आप प्रोग्रामिंग के बारे में पूछ रहे हैं तो यह StackOverflow पर बेहतर पूछा जा सकता है।
जोड़ा लेखक Ian, स्रोत

10 उत्तर

यह sandvich की सबसे अच्छी सुविधा है!

यह बिल्कुल एक स्वास्थ्य पैक की तरह काम करता है। अपने सैंडविच को चिकित्सकीय देने में सक्षम होना बहुत अच्छा है, क्योंकि उसके पास स्वस्थ होने का त्वरित तरीका नहीं है। टाइमर की समयसीमा समाप्त होने के बाद सैंडविच पुन: उत्पन्न नहीं होगा - आपको अभी भी एक स्वास्थ्य पैक या डिस्पेंसर ढूंढना होगा।

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.

बस सावधान रहें कि दुश्मन इसे पहले नहीं प्राप्त कर सकता है। यह उन्हें ठीक भी कर सकता है।

29
जोड़ा
खैर - एक निंजा अद्यतन था। सैंडविच अब भी कूलडाउन टाइमर पर है, और आपको अभी भी एक हेल्थपैक ढूंढना होगा।
जोड़ा लेखक Anonymous User, स्रोत
वाल्व ने अभी सानविच रिचार्ज के तंत्र को बदल दिया है: इसे पुन: उत्पन्न करने के लिए मेडिपैक्स की आवश्यकता नहीं है। अब यह एक कूलडाउन टाइमर है, जैसे बोनक! उदाहरण के लिए।
जोड़ा लेखक Keng, स्रोत
जहां तक ​​मुझे पता है, केवल चीजें जो पुन: लागू होती हैं (और एक स्वास्थ्य पैक) काम करेगी। तो एक डिस्पेंसर होगा, लेकिन गाड़ी नहीं होगी। मुझे लगता है कि गाड़ी एकमात्र चीज है जो यहां लागू होती है, और एक मेडिगुन।
जोड़ा लेखक doekman, स्रोत
धन्यवाद बस थक गया। यह भी देखा कि गाड़ी को धक्का देना (जो एचपी बहाल करता है) सैंडविच को पुन: उत्पन्न नहीं करेगा।
जोड़ा लेखक Adrian Clark, स्रोत
सैंडविच को छोड़ना भी उपयोगी होता है यदि इसका 50% एचपी बूस्ट आपको 100% तक वापस ले जाएगा और आप एक छोटे से स्वास्थ्य रिफिल के पास हैं; आपको बहुत बड़ा बढ़ावा मिलेगा और केवल इसे उपयोग करने से पहले कूलडाउन समाप्त होने की प्रतीक्षा करनी होगी। यह दूसरों को भी ठीक करने के लिए जाता है, इसलिए सैंडविच को फेंकने के लिए अक्सर एक बेहतर विचार होता है, एक घायल मेडिक कहें, ठीक हो जाओ, फिर अपने सैंडविच के लिए हेल्थपैक उठाएं।
जोड़ा लेखक Riyaz Mohammed Ibrahim, स्रोत
हेवीज जो सैंडविच को उनके जलती हुई दवा में नहीं फेंकते हैं, वे नहीं टीम को श्रेय देते हैं!
जोड़ा लेखक TM., स्रोत
पैच वास्तव में आपको इसे वापस लेने की अनुमति देता है यदि आप इसके ऊपर चलते हैं। यदि आपका सहयोगी आपके उदार उपहार को नहीं देखता है तो उल्लेख करने योग्य मूल्य।
जोड़ा लेखक Zibbobz, स्रोत

क्या यह डेस्कटॉप एप्लिकेशन है या सिल्वरलाइट एप्लिकेशन कहता है? यदि यह वेब-आधारित है तो आपको कुछ हुप्स से कूदना होगा। आप एक ऐसा दृश्य बना सकते हैं जो डब्लूकेटी का खुलासा करता है और फिर डब्ल्यूकेटी क्लाइंट साइड को डब्ल्यूपीएफ/सिल्वरलाइट ज्यामिति में पार्स करता है।

यदि यह डेस्कटॉप एप्लिकेशन है तो आपको इसे थोड़ा आसान मिल गया है। SQL ज्यामिति व्यूअर के कोड प्रोजेक्ट पर एक अच्छा उदाहरण है जो डेस्कटॉप या वेब दोनों में मदद करेगा ।

आपको SQLGeometry या SQLGeography का उपयोग करने के लिए सीधे SQL सर्वर इंस्टॉल /100/SDK/Assemblies पर Microsoft.SqlServer.Types.dll को संदर्भित करने की आवश्यकता है।

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

बहुत देर से संपादन: सिल्वरलाइट उन्हें स्वीकार नहीं करेगा क्योंकि पहले उल्लिखित डीएलएल को सिल्वरलाइट के खिलाफ संकलित नहीं किया गया है। कई लोगों की इच्छा सूची पर सिल्वरलाइट संगत संस्करण प्राप्त करना बहुत अधिक है!

16
जोड़ा

SQL सर्वर 2008 में संग्रहीत स्थानिक डेटा को देखने के लिए आप Silverlight ESRI API का उपयोग कर सकते हैं:

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

3
जोड़ा

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

1
जोड़ा

SharpMap सबसे अच्छा समाधान है। मैंने सभी को देखा है, और यह अब तक का सबसे मजबूत है। सुनिश्चित करें कि आप 2.0 बीटा संस्करण का उपयोग कर रहे हैं, हालांकि। मैंने इसके बारे में एक ब्लॉग पोस्ट किया है (डाउनलोड लिंक शामिल)। जांचने के लिए स्वतंत्र हैं।

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

1
जोड़ा

फ़ीचर डेटा ऑब्जेक्ट्स (एफडीओ) लाइब्रेरी आपको इंटरफेस के एक एकीकृत एकीकृत सेट के माध्यम से विभिन्न भू-स्थानिक डेटा प्रारूपों (SQL सर्वर समेत) तक पहुंचने की अनुमति देती है।

पुस्तकालय सी ++ में है, लेकिन पुस्तकालय भी एक .net wrapper के साथ आता है।

http://fdo.osgeo.org

1
जोड़ा

आप SQL सर्वर डेटा प्रकारों का उपयोग कर सकते हैं, आप उन्हें nuget या यहां से प्राप्त कर सकते हैं: http://www.microsoft.com/en-us/download /details.aspx?id=16177 (पृष्ठ के अंत के पास)

उसके बाद, आप फिर से न्युजेट या इस लिंक से धाराप्रवाह निबर्ननेट का उपयोग कर सकते हैं: (यहां लिंक सम्मिलित नहीं किया जा सका क्योंकि ऐसा लगता है कि मेरे पास 10 प्रतिनिधि नहीं हैं ...)

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

उम्मीद है की यह मदद करेगा !

1
जोड़ा

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.

यदि गलत ग़लत प्रकार की जानकारी के साथ आइटम सूची में जोड़े जाते हैं तो इससे और जटिलताओं का कारण बन सकता है। कोई भी कोड अभी भी सूची का संदर्भ रखता है लेकिन सही जेनेरिक प्रकार की जानकारी के साथ अब एक असंगत सूची होगी।

चेतावनी को हटाने के लिए, कोशिश करें:

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

हालांकि, ध्यान दें कि आप कुछ तरीकों का उपयोग करने में सक्षम नहीं होंगे जैसे कि कंपाइलर यह नहीं जानता कि आप गलत प्रकार की वस्तु को जोड़ने का प्रयास कर रहे हैं या नहीं। उपर्युक्त कई परिस्थितियों में काम करेगा, लेकिन यदि आपको ऐड, या कुछ समान प्रतिबंधित विधि का उपयोग करना है, तो आपको केवल ग्रहण (या SuppressWarning एनोटेशन) में पीले रंग की रेखा रेखा का सामना करना पड़ेगा।

0
जोड़ा

क्या आपने nHibernate पर एक नज़र डाली है? यह स्थानिक .NET प्रकारों का उपयोग करता है (जैसा कि ऊपर dmbrubac द्वारा वर्णित है) लेकिन SQL सर्वर की तुलना में अन्य डीबी सिस्टम से बात भी कर सकता है।

मुझे नहीं पता कि आपने यूआई स्तर के लिए भी पूछा है, लेकिन यहां मेरे 2 सेंट हैं: मैंने SharpMap, GeoAPI के साथ काम किया है और कुछ साल पहले आराम किया है। वे महान हैं लेकिन कभी भी एक स्टेडियम तक नहीं पहुंचे जहां आप कह सकते हैं कि वे एक व्यावसायिक अनुप्रयोग में उपयोग करने के लिए पर्याप्त परिपक्व हैं। मैंने एक साल पहले ईएसआरआई की सिल्वरलाइट और डब्ल्यूपीएफ एपीआई के साथ प्रयोग किया और दो प्रोटोटाइप बनाए जो एपीआई का इस्तेमाल करते थे। यह बहुत अच्छा है, यह मुफ़्त नहीं है लेकिन यह वास्तव में ठोस है, अत्याधुनिक है और यह उन सभी चीजों को करता है जो आप करना चाहते हैं और अधिक।

0
जोड़ा
यूआई बिट आसान है, क्योंकि हमारे पास हमारे विज़ुअलाइज़ेशन इंजन हैं।
जोड़ा लेखक Kevin Dente, स्रोत

यदि आप एक वेब क्लाइंट लिख रहे हैं, तो एक विकल्प आर्कजीआईएस स्पेटियल डेटा सर्विस का उपयोग करना है, जिसे वर्तमान में एएसरी के मैपआईटी उत्पाद के साथ पैक किया गया है (देखें http://resources.esri.com/MapIt )। सेवा एक विश्वसनीय वेब सेवा के माध्यम से SQL सर्वर टेबल का खुलासा करता है। वेब सेवा आर्कजीआईएस जेएसओएन प्रारूप का उपयोग करती है, इसलिए SQL सर्वर स्थानिक डेटा वाले टेबल को आर्कजीआईएस वेब एपीआई में फ़ीचरलेयर के रूप में उपभोग किया जा सकता है। यदि आप डेस्कटॉप क्लाइंट चाहते हैं, तो आप wpf API का उपयोग कर सकते हैं।

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
जोड़ा