में java.util.Date उपयोग करने के लिए क्या कोई विशेष कारण एक तिथि वर्ग (उदाहरण के लिए, एक कर्मचारी जन्म तिथि क्षेत्र में) एक API में उपयोग करने के लिए नहीं बल्कि एक लंबे या लांग कि कर रहे हैं।अच्छा कारण एक API
इसमें कुछ चर्चा है: java-date-vs-calendar, लेकिन मैं विशेष रूप से जानना चाहूंगा कि तिथियों का उपयोग करने के लिए कोई औचित्य है, जब एक लंबा (या लंबा) इतना आसान लगता है।
बेशक मैं समय-समय पर और जीडीआई में प्रदर्शन प्रदर्शित करने के लिए टाइमज़ोन और सिंपलडेट फॉरमेटर का उपयोग करता हूं, और शायद मैनिप्लेशंस करने के लिए कैलेंडर, लेकिन मैं केवल इस प्रश्न में डेटा मॉडल/एपीआई में स्टोरेज और प्रस्तुति के बारे में चिंतित हूं।
अद्यतन: एक कारण का एक उदाहरण है कि मैं तिथि क्यों नहीं चुनूंगा कि यह उत्परिवर्तनीय है। इसलिए यदि मैं अपने एपीआई में एक तिथि का पर्दाफाश करता हूं, तो कॉलर सेटटाइम (लंबी) को कॉल कर सकते हैं और यह मूल encapsulation का उल्लंघन प्रतीत होता है। मेरे लिए यह अतिरिक्त स्पष्टता के लाभ से अधिक है जो एक तिथि का उपयोग करता है, क्योंकि मैं केवल लंबी संपत्ति समय में कॉल कर सकता हूं InMillisecondsSinceEpoch और कॉलर को वही जानकारी संवाद करता हूं।
अब आप कोड को कैसे बदलेंगे कि दिनांक निर्माता (और अधिक) बहिष्कृत हैं? –
@DrorCohen आप गलत हैं। वह [java.util.Date constructor] (http://docs.oracle.com/javase/8/docs/api/java/util/Date.html#Date-long-) को जावा 8 के रूप में बहिष्कृत नहीं किया गया है। इस जवाब में दिखाया गया कोड सही है। –