char c = '\u0000';
Cを印刷すると、コマンドラインウィンドウに「a」と表示されます。
それでは、char型フィールドのデフォルト値は何ですか?
誰かが「\ u0000」はユニコードでヌルを意味すると言った。そうですか?
char
属性のデフォルト値は、Java言語仕様のセクション §4.12.5変数の初期値 に記載されているように、実際には'\u0000'
(ヌル文字)です。
私のシステムでは、ラインSystem.out.println('\u0000');
は小さな正方形を印刷します。これは、予想どおり、印刷可能な文字ではないことを意味します。
'\ u0000'は、文字のデフォルト値です。同等の10進数は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のデフォルト値は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」です。 詳細はこちら を参照してください。
以下の証明によると、その魅力的な空白または整数0
char c1 = '\u0000';
System.out.println("*"+c1+"*");
System.out.println((int)c1);
しかし、私はそう言うつもりはありません。なぜなら、プラットフォームや将来的に異なる可能性があるからです。私が本当に気にしているのは、このデフォルト値を使用しないことです。したがって、charを使用する前に\ u0000かどうかを確認し、プログラムでの誤解を避けるために使用します。それと同じくらい簡単です。
\u0000
は、Javaのchar型のデフォルト値です
他の人が述べたように、比較を使用して初期化されていない変数の値を確認できます。
char ch;
if(ch==0)
System.out.println("Default value is the null character");
Charデータ型のデフォルト値は '\ u0000'(または0)で、最大値は '\ uffff'(または65,535を含む)です。
情報を見ることができます こちら 。
デフォルトのcharは、int値が0(ゼロ)の文字です。
char NULLCHAR =(char)0;
char NULLCHAR = '\ 0';
ヌルとゼロには明確な違いがあることに注意してください。 http://docs.Oracle.com/javase/tutorial/Java/nutsandbolts/datatypes.html (上記参照)で、ステートメントが作成されます:-
また、任意の参照型の値として使用できる特別なヌルリテラルもあります。 nullは、プリミティブ型の変数を除くすべての変数に割り当てられます。その存在をテストする以外に、null値でできることはほとんどありません。したがって、nullは、一部のオブジェクトが利用できないことを示すマーカーとしてプログラムでよく使用されます。
そのため、次のステートメントではエラーが表示され、他のステートメントでは表示されません。
char a = null; //タイプの不一致:nullからcharに変換できません。
char b = 0; //有効な構文。