यह वास्तव में org.life.java के उत्तर पर सीनियर की टिप्पणी का जवाब है, लेकिन मैं कुछ कोड डालना चाहता था इसलिए मैं टिप्पणी सुविधा का उपयोग नहीं कर सका।
हालांकि यह बहुत दुर्लभ है कि मुझे "ब्रेक लेबल" के लिए उपयोग मिलता है, यह कभी-कभार होता है। सबसे आम मामला तब होता है जब मैं किसी ऐसी चीज की खोज कर रहा होता हूं, जिसकी संरचना में एक नेस्टेड लूप की आवश्यकता होती है, जैसे:
search:
for (State state : stateList)
{
for (City city : state.cityList)
{
if (city.zipcode.equals(wantZip))
{
doSomethingTo(city);
break search;
}
}
}
आमतौर पर ऐसे मामलों में मैं पूरी चीज को एक सबरूटीन में धकेल देता हूं ताकि हिट होने पर मैं पाया गया ऑब्जेक्ट वापस कर सकूं, और अगर यह लूप के नीचे से निकल जाए तो मैं एक नहीं मिला संकेत इंगित करने के लिए अशक्त लौट सकता हूं, या शायद एक अपवाद फेंक सकता हूं। लेकिन यह कभी-कभार उपयोगी होता है।
सच कहूँ तो, मुझे लगता है कि जावा के अन्वेषकों ने इस विशेषता को शामिल किया क्योंकि इस और अपवाद से निपटने के बीच, उन्होंने गोटो के लिए अंतिम दो वैध उपयोगों को समाप्त कर दिया।
बहुत देर से परिशिष्ट:
मैंने एक बार कोड की एक महान गैग लाइन देखी। प्रोग्रामर ने लिखा:
http://www.example.com/xyz.jsp
for (Foo foo1 : foolist)
उन्होंने वास्तव में "example.com" नहीं कहा, लेकिन हमारी कंपनी की वेब साइट।
यह धारणा देता है कि कोड में एक URL है। यह सफलतापूर्वक संकलित करता है, जैसे यह कुछ करता है। लेकिन ... यह क्या करता है?
वास्तव में यह कुछ नहीं करता है। "http:" एक लेबल है जिसे वह कभी भी संदर्भित नहीं करता है। फिर "//" बाकी पंक्ति को एक टिप्पणी बनाता है।