char c = '\u0000';
c를 인쇄하면 명령 줄 창에 'a'가 표시됩니다.
그렇다면 char 유형 필드의 기본값은 무엇입니까?
누군가 '\ u0000'은 유니 코드에서 null을 의미한다고 말했습니다. 맞습니까?
char c = '\u0000';
c를 인쇄하면 명령 줄 창에 'a'가 표시됩니다.
그렇다면 char 유형 필드의 기본값은 무엇입니까?
누군가 '\ u0000'은 유니 코드에서 null을 의미한다고 말했습니다. 맞습니까?
답변:
char
속성 의 기본값 '\u0000'
은 Java 언어 사양, 섹션 §4.12.5 변수의 초기 값에 명시된대로 실제로 (널 문자) 입니다.
내 시스템에서 선 System.out.println('\u0000');
이 약간 정사각형으로 인쇄되어 예상대로 인쇄 가능한 문자가 아님을 의미합니다.
'\u0000'
같은 값이 아닙니다 null
null character
? 이 질문에 대한 일부 답변은 기본값을 null 문자로 참조하고 있습니다.
null
자바 용어 가 아닙니다 . 즉 \u0000 == null
반환 할 것입니다false
'\ 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'입니다. 자세한 내용은 여기를 참조하십시오 .
null과 0 사이에는 뚜렷한 차이가 있습니다. 에서 http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html (위 참조), 문이 구성되어 있습니다 -
모든 참조 유형에 대한 값으로 사용할 수있는 특수 null 리터럴도 있습니다. 기본 유형의 변수를 제외한 모든 변수에 널을 지정할 수 있습니다. null 값으로 존재 여부를 테스트하는 것 외에는 할 수있는 일이 거의 없습니다. 따라서 null은 프로그램에서 일부 개체를 사용할 수 없음을 나타내는 마커로 자주 사용됩니다.
그렇기 때문에 다음 문장은 다른 쪽이 아닌 오류를 제공합니다.
char a = null; // 유형 불일치 : null에서 char로 변환 할 수 없습니다.
char b = 0; // 유효한 구문.
의 기본값 char
은 \ u0000입니다.
public class DefaultValues {
char varChar;
public static void main(String...l)
{
DefaultValues ob =new DefaultValues();
System.out.println(ob.varChar=='\u0000');
}
}
이것은 true 를 반환 합니다.
문자 기본 유형의 기본값은 Java 언어 사양에 명시된대로 '\ u0000'(null 문자)입니다.
'u0000'의 단축키는 '\ 0'이므로 null은 'u0000'또는 '\ 0'으로 표시 할 수 있습니다.
아래 Java 프로그램은 인스턴스 char 필드 'c'를 사용하여 널 표현의 유효성을 검사합니다.
public class DefaultValueForchar {
char c;
public static void main(String[] args) {
char c0 = '\0';
char cu0000 = '\u0000';
DefaultValueForchar obj = new DefaultValueForchar();
System.out.println(obj.c);
System.out.println(c0);
System.out.println(cu0000);
System.out.println(c0==cu0000);
System.out.println(obj.c==c0);
System.out.println(obj.c==cu0000);
}
}
char == 0