puede verificar si su carácter tiene el valor predeterminado:char == 0
ACV
Respuestas:
105
El valor predeterminado de un charatributo es de hecho '\u0000'(el carácter nulo) como se indica en la Especificación del lenguaje Java, sección §4.12.5 Valores iniciales de variables .
En mi sistema, la línea System.out.println('\u0000');imprime un pequeño cuadrado, lo que significa que no es un carácter imprimible, como se esperaba.
Es importante tener en cuenta que '\u0000'no es el mismo valor que null
Edd
¿Qué es null character? Algunas respuestas a estas preguntas hacen referencia al valor predeterminado como carácter nulo.
Quazi Irfan
3
@ Óscar López, ¿y el char '\ 0'? Ellos no son los mismos ?
Tarik
5
@Tarik sí, son iguales.
Óscar López
3
@iamcreasy lo que dices es correcto. Mi nota es solo que 'carácter nulo' es un carácter. No está nullen términos de Java, es decir \u0000 == null, volveríafalse
Edd
30
'\ u0000' es el valor predeterminado para un personaje. Su equivalente decimal es 0.
Cuando declaras alguna variable char sin inicializarla, se le asignará '\ u0000' de forma predeterminada.
ver este código
publicclassTest{
char c;
publicstaticvoidmain(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);
}
}
Este código imprimirá verdadero para la última impresión.
pero no lo diría porque podría diferir en diferentes plataformas o en el futuro. Lo que realmente me importa es que nunca usaré este valor predeterminado, así que antes de usar cualquier carácter, solo verifique que sea \ u0000 o no, luego úselo para evitar conceptos erróneos en los programas. Es tan simple como eso.
La pregunta ya tiene una respuesta aceptada más varias otras respuestas. Para que su respuesta sea útil, debe agregar nueva información útil o nuevos conocimientos al problema. No es útil simplemente repetir información en otras respuestas.
También hay un literal nulo especial que se puede usar como valor para cualquier tipo de referencia. Se puede asignar un valor nulo a cualquier variable, excepto a las variables de tipo primitivo. Hay poco que pueda hacer con un valor nulo más allá de probar su presencia. Por lo tanto, null se usa a menudo en programas como marcador para indicar que algún objeto no está disponible.
Es por eso que las siguientes declaraciones te darán un error y no el otro: -
char a = nulo; // Falta de coincidencia de tipos: no se puede convertir de nulo a char.
char == 0
Respuestas:
El valor predeterminado de un
char
atributo es de hecho'\u0000'
(el carácter nulo) como se indica en la Especificación del lenguaje Java, sección §4.12.5 Valores iniciales de variables .En mi sistema, la línea
System.out.println('\u0000');
imprime un pequeño cuadrado, lo que significa que no es un carácter imprimible, como se esperaba.fuente
'\u0000'
no es el mismo valor quenull
null character
? Algunas respuestas a estas preguntas hacen referencia al valor predeterminado como carácter nulo.null
en términos de Java, es decir\u0000 == null
, volveríafalse
'\ u0000' es el valor predeterminado para un personaje. Su equivalente decimal es 0.
Cuando declaras alguna variable char sin inicializarla, se le asignará '\ u0000' de forma predeterminada.
ver este código
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); } }
Este código imprimirá verdadero para la última impresión.
fuente
El valor predeterminado de Character es Character.MIN_VALUE que se representa internamente como
MIN_VALUE = '\u0000'
Además, puede verificar si el campo de caracteres contiene un valor predeterminado como
Character DEFAULT_CHAR = new Character(Character.MIN_VALUE); if (DEFAULT_CHAR.compareTo((Character) value) == 0) { }
fuente
'\u0000'
representanull
. Entonces, si imprime una variable char no inicializada, no obtendrá nada.fuente
Es '\ u0000'. Consulte aquí para obtener más información .
fuente
El carácter predeterminado es el carácter con un valor int de 0 (cero).
char NULLCHAR = (char) 0;
char NULLCHAR = '\ 0';
fuente
es tentador decir como espacio en blanco o entero 0 según la siguiente prueba
char c1 = '\u0000'; System.out.println("*"+c1+"*"); System.out.println((int)c1);
pero no lo diría porque podría diferir en diferentes plataformas o en el futuro. Lo que realmente me importa es que nunca usaré este valor predeterminado, así que antes de usar cualquier carácter, solo verifique que sea \ u0000 o no, luego úselo para evitar conceptos erróneos en los programas. Es tan simple como eso.
fuente
El valor predeterminado de un tipo de datos char es '\ u0000' (o 0) y un valor máximo de '\ uffff' (o 65,535 inclusive).
Puedes ver la información aquí .
fuente
Tenga en cuenta que existe una clara diferencia entre nulo y cero. En http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html (mencionado anteriormente), se hace la declaración: -
También hay un literal nulo especial que se puede usar como valor para cualquier tipo de referencia. Se puede asignar un valor nulo a cualquier variable, excepto a las variables de tipo primitivo. Hay poco que pueda hacer con un valor nulo más allá de probar su presencia. Por lo tanto, null se usa a menudo en programas como marcador para indicar que algún objeto no está disponible.
Es por eso que las siguientes declaraciones te darán un error y no el otro: -
char a = nulo; // Falta de coincidencia de tipos: no se puede convertir de nulo a char.
char b = 0; // Sintaxis válida.
fuente
\u0000
es el valor predeterminado para el tipo char en JavaComo otros mencionaron, puede usar la comparación para verificar el valor de una variable no inicializada.
char ch; if(ch==0) System.out.println("Default value is the null character");
fuente
Creo que es
'\u00000'
o simplemente en''
lugar de'\u0000'
(el primero tiene 5 ceros mientras que el último tiene cuatro ceros).fuente
El valor predeterminado para
char
es \ u0000public class DefaultValues { char varChar; public static void main(String...l) { DefaultValues ob =new DefaultValues(); System.out.println(ob.varChar=='\u0000'); } }
Esto volverá a ser verdad
fuente
El valor predeterminado de char es nulo, que es '\ u0000' según el gráfico Unicode . Veamos cómo funciona durante la impresión.
public class Test_Class { char c; void printAll() { System.out.println("c = " + c); } public static void main(String[] args) { Test_Class f = new Test_Class(); f.printAll(); } }
Nota: La salida está en blanco.
fuente
El valor predeterminado de un tipo primitivo char es '\ u0000' (carácter nulo) como se indica en la Especificación del lenguaje Java.
El atajo para 'u0000' es '\ 0', por lo que el nulo se puede representar con 'u0000' o '\ 0'.
El siguiente programa Java valida las representaciones nulas utilizando el campo de carácter de instancia '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); } }
fuente