के साथ परेशानी हो रही है, मैं एक lib का उपयोग कर रहा हूं जिसमें इन्हें कॉन्स के साथ एक enum प्रकार है;ओरिएंट डीबी को यूनिकोड, तुर्की और enums
Type.SHORT
Type.LONG
Type.FLOAT
Type.STRING
मैं ग्रहण में डीबगिंग रहा है, मैं एक त्रुटि मिली:
No enum const class Type.STRİNG
मैं एक तुर्की प्रणाली का उपयोग कर रहा हैं, वहाँ मैं काम कर रहा पर एक समस्या है> मैं लेकिन यह एक enum स्थिरांक है के रूप में , भले ही मैंने प्रत्येक विशेषता को यूटीएफ -8 के रूप में रखा हो, फिर भी STRING कुछ भी प्राप्त नहीं हो सकता है जो ग्रहण को देखना चाहिए। लेकिन यह अभी भी STRİNG देखता है और यह नहीं मिल रहा है और मैं इसका उपयोग नहीं कर सकता। इसके लिए मुझे क्या करना चाहिए?
प्रोजेक्ट> गुण> Resouce> टेक्स्ट फ़ाइल एन्कोडिंग अब यूटीएफ -8 है। समस्या रखती है
संपादित करें: अधिक जानकारी कुछ संकेत दे सकती है जो मुझे नहीं मिल सकती हैं; मैं ओरिएंट डीबी पर काम कर रहा हूं। यह मेरा पहला प्रयास है, इसलिए मुझे नहीं पता कि ओरिएंट डीबी पैकेज पर समस्या हो सकती है या नहीं। लेकिन मैं कई अन्य libs का उपयोग कर रहा हूँ, मैंने कभी ऐसी समस्या नहीं देखी है। इस पैकेज में एक ओटीपी enum है, और मैं केवल डेटाबेस से कनेक्ट करने की कोशिश कर रहा हूँ।
String url = "local:database";
ODatabaseObjectTx db = new ODatabaseObjectTx(url).
Person person = new Person("John");
db.save(person);
db.close();
अब तक कोई और कोड नहीं है जिसका उपयोग मैं अभी तक करता हूं। डाटाबेस बनाया है, लेकिन फिर मैं मिल java.lang.IllegalArgumentException
:
Caused by: java.lang.IllegalArgumentException: No enum const class com.orientechnologies.orient.core.metadata.schema.OType.STRİNG
at java.lang.Enum.valueOf(Unknown Source)
at com.orientechnologies.orient.core.metadata.schema.OType.valueOf(OType.java:41)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLCreateProperty.parse(OCommandExecutorSQLCreateProperty.java:81)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLCreateProperty.parse(OCommandExecutorSQLCreateProperty.java:35)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLDelegate.parse(OCommandExecutorSQLDelegate.java:43)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLDelegate.parse(OCommandExecutorSQLDelegate.java:28)
at com.orientechnologies.orient.core.storage.OStorageEmbedded.command(OStorageEmbedded.java:63)
at com.orientechnologies.orient.core.command.OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:63)
at com.orientechnologies.orient.core.metadata.schema.OClassImpl.addProperty(OClassImpl.java:342)
at com.orientechnologies.orient.core.metadata.schema.OClassImpl.createProperty(OClassImpl.java:258)
at com.orientechnologies.orient.core.metadata.security.OSecurityShared.create(OSecurityShared.java:177)
at com.orientechnologies.orient.core.metadata.security.OSecurityProxy.create(OSecurityProxy.java:37)
at com.orientechnologies.orient.core.metadata.OMetadata.create(OMetadata.java:70)
at com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.create(ODatabaseRecordAbstract.java:142)
... 4 more
यहाँ OType वर्ग है: http://code.google.com/p/orient/source/browse/trunk/core/src/main/java/com/orientechnologies/orient/core/metadata/schema/OType.java
और अन्य वर्ग; OCommandExecutorSQLCreateProperty: http://code.google.com/p/orient/source/browse/trunk/core/src/main/java/com/orientechnologies/orient/core/sql/OCommandExecutorSQLCreateProperty.java
लाइन 81 का कहना है: type = OType.valueOf(word.toString());
जब आप 'Type.STR' टाइप करने के बाद 'CTRL + Space' दबाते हैं तो Eclipse स्वत: पूर्ण correclty करता है? –
दरअसल मैं सीधे टाइप करके इसका उपयोग नहीं करता हूं। प्रतिबिंब या कुछ ऐसा उपयोग करने वाला कुछ होना चाहिए। लेकिन आपके प्रश्न के उत्तर के रूप में, टाइप करके, कोई समस्या नहीं है। Ctrl + Space मुझे Type.STRING (सही, बिना समस्या के) देता है –
शायद कोड के साथ कोई समस्या है जो प्रतिबिंबित रूप से enum कहलाती है - वह मान कहां से आता है? उपयोगकर्ता इनपुट फॉर्म तुर्की-केवल कीबोर्ड, या कोई अन्य सिस्टम जो 'I' के बजाय' İ' भेजता है? –