일부 프로그램을 작성하고 있습니다.이 프로그램을 사용하여 연결 상태를 알려줍니다.Android, 스위치 케이스를 사용하여 부울을 결정합니다.
if(isConnected) {
//if connection established \t
btnwifi.setText("Connection");
} else { \t
btnwifi.setText("Unconnected");
}
일부 프로그램을 작성하고 있습니다.이 프로그램을 사용하여 연결 상태를 알려줍니다.Android, 스위치 케이스를 사용하여 부울을 결정합니다.
if(isConnected) {
//if connection established \t
btnwifi.setText("Connection");
} else { \t
btnwifi.setText("Unconnected");
}
학습 전환을 원합니다.
당신은 당신의 목적을 위해 열거를 사용할 수 있습니다 ,
public enum BtnWifi { // you can create new enum java file for this
CONNECTED, NOT_CONNECTED
}
//.... Setting value for enum in your code
BtnWifi btnWifi;
if(isConnected) {
//if connection established
btnWifi = BtnWifi.CONNECTED;
} else {
btnWifi = BtnWifi.NOT_CONNECTED;
}
// No switch to use it...
switch(btnWifi) {
case CONNECTED:
//code for connected...
break;
case NOT_CONNECTED:
//code for Not connected...
break;
}
왜 이런 방식으로 구현하고 싶은지 잘 모르겠습니다. 바이트, 짧은 문자의 정적 상수 부울 형식을 변환하는 함수를 작성, 당신이 경우에 당신이 그렇게 스위치에이 oracle doc
참조 할 수 있습니다, 자바 why java takes only true of false 스위치의
에서 부울 유형에 대한 링크를 참조하십시오 int 또는 문자열 형식을 사용하여 다음 스위치 문을 사용하지 않는 것이 좋습니다.
이것은 switch
이 의도 한 것이 아니고 Java에서 지원되지 않습니다.
if
문은 부울 값을 기반으로 프로그램 흐름을 제어하는 데 사용되며 완벽하게 작동하므로 다른 용도로 사용하려고합니까? switch
진술에 대해 배우고 싶다면 첫 번째 전화 포트는 어디 있는지 배우는 것이고 의미가 없습니다!
스위치가 자바의 값, 긴 플로트, 더블 또는 부울을 허용하지 않습니다! 변수가 두 개 이상의 값을 가질 수 있으면 enum을 사용할 수 있습니다. boolean의 경우 else가 더 좋습니다. –
@ MohammedAli에서 확장하면 어떤 프리미티브에서도 전환 할 수 없습니다. 열거 형은 스위치로 처리되어보다 명시적인 선언을 허용합니다. – zgc7009
열거 형은 스위치와 함께 사용하는 것이 가장 좋습니다. 또한 다음을 참조하십시오. http://stackoverflow.com/questions/5141830/switch-expression-cant-be-float-double-or-boolean –