18 Aralık 2013, ÇARŞAMBA
Switch case deyimi bir dizi olarak kullanın
Switch ifadesinde bir dizi kullanmak böyle bir şey, yani, yapmaya çalışıyorum. Olası Java mı? Değil, olası bir çözüm lütfen açıklamama değil.
boolean[] values = new boolean[4];
values[0] = true;
values[1] = false;
values[2] = false;
values[3] = true;
switch (values) {
case [true, false, true, false]:
break;
case [false, false, true, false]:
break;
default:
break;
}
CEVAP
18 Aralık 2013, ÇARŞAMBA
@sᴜʀᴇsʜ ᴀᴛᴛᴀ haklı. Ama bir şey eklemek istedim. Java beri 7, switch deyimleri ile bir şeyler yapabileceğini böylece Dizeleri destekler.Gerçekten çok pisve ben tavsiye etmiyorum, ama bu çalışır:
boolean[] values = new boolean[4];
values[0] = true;
values[1] = false;
values[2] = false;
values[3] = true;
switch (Arrays.toString(values)) {
case "[true, false, true, false]":
break;
case "[false, false, true, false]":
break;
default:
break;
}
Haklısın, bu süper hızlı değil. bu performansı endişe için: Böyle bir şey derlenmiş olacak:
String temp = Arrays.toString(values)
int hash = temp.hashCode();
switch (hash)
{
case 0x23fe8da: // Assume this is the hashCode for that
// original string, computed at compile-time
if (temp.equals("[true, false, true, false]"))
{
}
break;
case 0x281ddaa:
if (temp.equals("[false, false, true, false]"))
{
}
break;
default: break;
}
Bunu Paylaş:
switch case deyimi hata: case ifadeler...
Bir iki değerleri kullanarak switch ca...
İçin Python deyimi switch yedek?...
Paralel olarak birden çok AJAX istekle...
Dinamik olarak JavaScript ilişkisel di...