java - Take string and compare to multiple enum types all at once -


इस सवाल का पहले से ही एक उत्तर है: <

यदि मेरे पास मेरा अलग वर्ग है, तो इसे फ़्लिकटाइप.जावा कहें, और यह इस तरह दिखता है:

  सार्वजनिक enum filetype {JPG, GIF, PNG, BMP, अन्य }   

और फिर मैं उपयोगकर्ता से एक स्ट्रिंग लेता हूं, इसे इनपुट स्ट्रिंग कहते हैं, मैं सबसे अधिक न्यूनतम के साथ हर एक एन्यूम मान के लिए "इनपुट स्टिंग" कैसे तुलना कर सकता हूं? कोड की मात्रा?

संपादित करें: यहां मैंने जो कोशिश की है वह है:

  System.out.print ("कृपया अपनी तस्वीर का फ़ाइल प्रकार दर्ज करें। यह होना चाहिए: JPG, जीआईएफ, पीएनजी, बीएमपी या अन्य "); TypeInput = kb.nextLine (); बूलियन इनपुटमैट्स = गलत; जबकि (इनपुटमैचें == गलत) {System.out.print ("अमान्य इनपुट। कृपया अपनी तस्वीर का फ़ाइल प्रकार दर्ज करें। यह होना चाहिए: JPG, GIF, PNG, BMP, या अन्य"); अगर (typeInput.equalsIgnoreCase (FileType.values ​​())) {inputMatches = true; }}   

पी एस मैं अच्छी तरह जानता हूं कि मैं एकमात्र वैरिएबल सेट कर सकता हूं, जैसा कि एनाम वैल्यू के समान स्ट्रिंग्स के बराबर होता है। I; मुझे यह भी पता है कि मैं .valueOf () हर एक मान के लिए इस्तेमाल कर सकता हूं।

आप इनपुट के बजाय enum में कनवर्ट कर सकते हैं

  System.out.print ("कृपया अपने फोटो का फ़ाइल प्रकार दर्ज करें। यह होना चाहिए: JPG, GIF, PNG, BMP, या अन्य" ); बूलीयन प्रकारइनपुट = केबी.एक्सटाइन (); इनपुटमैटच = सच; {FileType fileType = FileType.valueOf (inputString.toUpperCase) कोशिश करें। ट्रिम ()); } पकड़ (अवैध अवैध अपवाद ई) {inputMatches = false; }    

Comments

Popular posts from this blog

sonata admin - how to add ManyToOne property field in configureListfield in sonataAdmin -

wpf - ControlTemplate with changes for every class -

sql - Return Function using Cursor -