2012-01-26 24 views
5

मैं कुछ अच्छी चीजों के लिए O'Reillys Java Cookbook (2ed) के माध्यम से देख रहा था और स्कैनर.क्रेट() विधि लगभग 10 बार पाया। लेकिन एपीआई या कक्षा घोषणा \ कार्यान्वयन में ऐसा कोई नहीं है। पूर्व: Page exampleजावा का नया स्कैनर बनाम Scanner.create()?

+1

अजीब पृष्ठ के तल पर उदाहरण के अनुसार पैराग्राफ में से एक का दावा है यह नहीं है कि उसके बाद स्कैनर ctor और उस का उपयोग करता है सार्वजनिक ctors। – josefx

उत्तर

9

यह या तो एक गैर एसडीके स्कैनर प्रकार की चर्चा करते हुए या पुस्तक में एक त्रुटि है है।

Java 1.5/5 में कोई static Scanner Scanner.create() (जब यह शुरू की गई थी), या SDK 6 या SDK 7 APIs में नहीं है। अप्रचलित होने वाली ऐसी विधि का कोई भी उल्लेख नहीं है (जो, जावा एसडीके एपीआई में प्रभावी रूप से इसका मतलब है कि यह कभी भी [आधिकारिक तौर पर] अस्तित्व में नहीं था :-)।

अपडेट ध्यान दें: ऐसा लगता है कि create कारखाने विधि वास्तव में जावा 5. का जल्द से जल्द पूर्वावलोकन/बीटा संस्करण में मौजूद था RanRag मुद्दे पर एक relevant thread पाया:

... और कोई, आप पागल नहीं जा रहे हैं: स्कैनर ने [जावा 5] बाघ-बीटा 1 में() विधियों का निर्माण किया था, लेकिन वे [जावा 5] बीटा 2 में रचनाकारों के लिए स्विच किए गए थे।

मुबारक कोडिंग (तो केवल सही तरीका करने के लिए निर्माता का उपयोग करें।)।

+0

Thx, अनुमान है कि आप पहले के पूर्वावलोकन के बारे में सोच रहे हैं, इसके बारे में नहीं सोचा – 4lex1v

+1

@pst: यहां 'scanner.create() 'विधि का उल्लेख है https://forums.oracle.com/forums/thread। jspa? threadid = 1,756,125। – RanRag

+1

@RanRag धन्यवाद। ऐतिहासिक उद्देश्यों के प्रतिबिंबित करने के लिए अद्यतन किया गया। –

2

यह Oracle forums में उल्लेख किया गया है कि स्कैनर ने बाघ-बीटा 1 में() विधियों को बनाया था, लेकिन वे बीटा 2 में रचनाकारों के लिए स्विच किए गए।

यह अब ऐसा करने का तरीका नहीं है। आपको स्कैनर क्लास का एक उदाहरण बनाना चाहिए, उसी तरह आप किसी भी अन्य क्लास का एक कन्स्ट्रक्टर का उपयोग करके उदाहरण बनायेंगे।

Scanner sc = new Scanner(System.in) 
1

हम्म ऐसा लगता है कि किसी ने कुकबुक पोस्ट से पहले अद्यतन स्पेक की जांच नहीं की है! एक स्कैनर वस्तुओं instatiate लिए एक ही रास्ता है:

Scanner sc = new Scanner(System.in) 

API documentation