char c = '\u0000';
c를 인쇄하면 명령 줄 창에 ‘a’가 표시됩니다.
그렇다면 char 유형 필드의 기본값은 무엇입니까?
누군가 ‘\ u0000’은 유니 코드에서 null을 의미한다고 말했습니다. 맞습니까?
답변
char
속성 의 기본값 '\u0000'
은 Java 언어 사양, 섹션 §4.12.5 변수의 초기 값에 명시된대로 실제로 (널 문자) 입니다.
내 시스템에서 선 System.out.println('\u0000');
이 약간 정사각형으로 인쇄되어 예상대로 인쇄 가능한 문자가 아님을 의미합니다.
답변
‘\ u0000’ 은 문자의 기본값입니다. 십진수는 0입니다.
초기화하지 않고 일부 char 변수를 선언하면 기본적으로 ‘\ u0000’이 할당됩니다.
이 코드를 참조하십시오
public class Test {
char c;
public static void main(String args[]) throws Exception {
Test t = new Test();
char c1 = '\u0000';
System.out.println(t.c);
System.out.println(c1);
System.out.println(t.c == c1);
}
}
이 코드는 마지막 인쇄에 대해 true 를 인쇄합니다.
답변
문자의 기본 값은 Character.MIN_VALUE 내부적으로 표현MIN_VALUE = '\u0000'
또한 문자 필드에 다음과 같은 기본값이 포함되어 있는지 확인할 수 있습니다.
Character DEFAULT_CHAR = new Character(Character.MIN_VALUE);
if (DEFAULT_CHAR.compareTo((Character) value) == 0)
{
}
답변
'\u0000'
을 의미합니다 null
. 따라서 초기화되지 않은 char 변수를 인쇄하면 아무것도 얻지 못할 것입니다.
답변
‘\ u0000’입니다. 자세한 내용은 여기를 참조하십시오 .
답변
기본 문자는 int 값이 0 (영) 인 문자입니다.
char NULLCHAR = (문자) 0;
char NULLCHAR = ‘\ 0’;
답변
아래 증거에 따라 공백 또는 정수 0으로 유혹합니다.
char c1 = '\u0000';
System.out.println("*"+c1+"*");
System.out.println((int)c1);
그러나 나는 다른 플랫폼 또는 미래에 다를 수 있기 때문에 그렇게 말하지 않을 것입니다. 내가 정말로 걱정하는 것은이 기본값을 사용하지 않을 것이므로 문자를 사용하기 전에 \ u0000인지 확인한 다음 프로그램에서 오해를 피하기 위해 사용하십시오. 그것만큼 간단합니다.