a boolean를 intJava 로 변환하는 가장 널리 사용되는 방법은 무엇입니까 ?
답변
int myInt = myBoolean ? 1 : 0;^^
PS : true = 1 및 false = 0
답변
int val = b? 1 : 0;답변
삼항 연산자를 사용하는 것은 원하는 것을 수행하는 가장 간단하고 효율적이며 읽기 쉬운 방법입니다. 이 솔루션을 사용하는 것이 좋습니다.
그러나 나는 대안 적이며, 고 안되고, 비효율적이며 읽을 수없는 대안을 제안하는 것에 저항 할 수 없다.
int boolToInt(Boolean b) {
    return b.compareTo(false);
}이봐, 사람들은 멋진 답변에 투표하고 싶어!
편집하다
그건 그렇고, 나는 종종 두 가지 값 (일반적으로 compareTo방법 구현에서 )을 비교하기위한 목적으로 부울에서 int로 변환하는 것을 종종 보았습니다 . Boolean#compareTo그러한 특정한 경우에가는 길입니다.
편집 2
Java 7은 기본 유형과 직접 작동하는 새로운 유틸리티 기능을 도입했습니다 Boolean#compare(감사합니다 shmosel ).
int boolToInt(boolean b) {
    return Boolean.compare(b, false);
}답변
boolean b = ....;
int i = -("false".indexOf("" + b));답변
public int boolToInt(boolean b) {
    return b ? 1 : 0;
}단순한
답변
import org.apache.commons.lang3.BooleanUtils;
boolean x = true;
int y= BooleanUtils.toInteger(x);답변
상황에 따라 다릅니다. 이해하기 쉽기 때문에 가장 간단한 방법이 가장 좋습니다.
if (something) {
    otherThing = 1;
} else {
    otherThing = 0;
}또는
int otherThing = something ? 1 : 0;그러나 때로는 부울 플래그 대신 Enum을 사용하는 것이 유용합니다. 동기식 및 비동기식 프로세스가 있다고 상상해보십시오.
Process process = Process.SYNCHRONOUS;
System.out.println(process.getCode());Java에서 enum은 추가 속성 및 메소드를 가질 수 있습니다.
public enum Process {
    SYNCHRONOUS (0),
    ASYNCHRONOUS (1);
    private int code;
    private Process (int code) {
        this.code = code;
    }
    public int getCode() {
        return code;
    }
}