Ini benar-benar merupakan balasan untuk komentar seanizer pada jawaban org.life.java, tetapi saya ingin memasukkan beberapa kode sehingga saya tidak dapat menggunakan fitur komentar.
Meskipun sangat jarang saya menemukan penggunaan untuk "label istirahat", itu terjadi sesekali. Kasus paling umum adalah ketika saya mencari sesuatu yang ada dalam struktur yang membutuhkan loop bersarang untuk mencari, seperti:
search:
for (State state : stateList)
{
for (City city : state.cityList)
{
if (city.zipcode.equals(wantZip))
{
doSomethingTo(city);
break search;
}
}
}
Biasanya dalam kasus seperti itu saya mendorong semuanya ke dalam subrutin sehingga pada pukulan saya dapat mengembalikan objek yang ditemukan, dan jika jatuh ke bagian bawah loop saya dapat mengembalikan null untuk menunjukkan tidak ditemukan, atau mungkin melempar pengecualian. Tapi ini terkadang berguna.
Terus terang, menurut saya penemu Java menyertakan fitur ini karena antara penanganan ini dan pengecualian, mereka menghilangkan dua penggunaan sah terakhir untuk GOTO.
Adendum yang sangat terlambat:
Saya pernah melihat baris kode lelucon yang bagus. Programmer menulis:
http://www.example.com/xyz.jsp
for (Foo foo1 : foolist)
Sebenarnya dia tidak mengatakan "example.com", tetapi situs web perusahaan kami.
Ini memberi kesan bahwa ada URL di kode. Itu berhasil dikompilasi, seperti melakukan sesuatu. Tapi ... apa fungsinya?
Pada kenyataannya itu tidak melakukan apa-apa. "http:" adalah label yang tidak pernah dia referensikan. Kemudian "//" membuat sisa baris menjadi komentar.