1
00:00:00,480 --> 00:00:06,110
En esta clase vamos a aprender cómo validar un string, por ejemplo, saber si la instancia en NULL,

2
00:00:06,210 --> 00:00:11,400
si tiene alguna referencia, la variable, el tipo string o al menos si tiene un largo contenido o por

3
00:00:11,400 --> 00:00:14,100
ejemplo, si el string solamente tiene un espacio en blanco.

4
00:00:14,130 --> 00:00:14,970
Pero nada más.

5
00:00:15,090 --> 00:00:20,040
Entonces, bueno, hay diferentes formas y diferentes mecanismos para poder validar nuestras cadenas.

6
00:00:20,400 --> 00:00:22,410
Vamos a cerrar el ejemplo que teníamos.

7
00:00:22,590 --> 00:00:24,660
Vamos a crear una nueva clase de IAVA.

8
00:00:26,880 --> 00:00:30,780
En esa recé debemos llamar ejemplo streeck validar.

9
00:00:34,410 --> 00:00:35,970
Enter y con el método ME.

10
00:00:39,610 --> 00:00:49,080
Pero vamos a definir una variable del tipo es frink curso y lo dejamos no sin referencia, sin una instancia

11
00:00:49,250 --> 00:00:50,640
bueno, cómo se valida eso?

12
00:00:52,500 --> 00:00:57,690
Por ejemplo, cuando la instancia de un objeto vamos a ver, el tipo es Trenc, pero en general para

13
00:00:57,690 --> 00:01:03,060
cualquier tipo objeto importante válida, porque podría ocurrir un error y nuestra aplicación se romper,

14
00:01:03,060 --> 00:01:10,560
porque si el objeto o la instancia en Nul nula y queremos invocar algún atributo o método de este objeto,

15
00:01:10,650 --> 00:01:11,970
nuestra aplicación se va a quebrar.

16
00:01:12,050 --> 00:01:13,080
Barazar un error.

17
00:01:13,170 --> 00:01:19,310
El típico null pointer exception, es decir, que el objeto nulo y no podemos hacer mucho con este objeto,

18
00:01:19,740 --> 00:01:29,130
entonces vamos a definir un bullían es nulo y tenemos que revisar, comparar, por ejemplo curso si

19
00:01:29,130 --> 00:01:30,150
es igual a NULL.

20
00:01:31,580 --> 00:01:34,440
Entonces electo hoy tenemos nuestra primera validación.

21
00:01:34,500 --> 00:01:41,070
Sabemos si es nulo o no, no se preocupen, porque después vamos a ver todo lo que es flujo de control

22
00:01:41,100 --> 00:01:47,670
con IFF, por ejemplo, y poder validar una expresión booleana y de esa forma ejecutar o no un bloque

23
00:01:47,670 --> 00:01:48,180
de código.

24
00:01:48,450 --> 00:01:54,030
Después lo vamos a ver más en detalle, pero ahora igual lo vamos a utilizar un poco, pero vamos a

25
00:01:54,030 --> 00:01:55,290
mostrar el valor.

26
00:01:55,570 --> 00:01:58,320
Bueno, por supuesto debiera ser Nul.

27
00:01:58,770 --> 00:01:59,670
Vamos a levantar.

28
00:02:01,420 --> 00:02:02,450
Perfecto, nulo.

29
00:02:02,780 --> 00:02:03,160
Tru.

30
00:02:03,730 --> 00:02:08,800
Ahora bien, tener cuidado porque cuando un objeto es Nul, como explicaba, a pesar de que no permite

31
00:02:08,800 --> 00:02:13,390
ejecutar métodos en nuestro código, pero cuando ejecutamos la aplicación va a lanzar un error.

32
00:02:14,800 --> 00:02:18,150
Para poner un ejemplo, voy a imprimir curso.

33
00:02:18,190 --> 00:02:18,850
Punto.

34
00:02:19,030 --> 00:02:21,140
No sé cualquiera tu acerques.

35
00:02:21,400 --> 00:02:22,990
Es decir, convertir a mayuscula.

36
00:02:24,760 --> 00:02:31,930
Por ejemplo, pero recuerden que curso es una referencia no vacía, es decir, gracias, sino que no

37
00:02:31,930 --> 00:02:39,280
tiene una referencia, no tiene un objeto, levantamos y debería lanzar una acepción acá un null pointer.

38
00:02:40,570 --> 00:02:42,120
Que ocurre en la línea de 10?

39
00:02:42,160 --> 00:02:46,740
Justamente acá, porque está invocando algún método, en este caso tú a Perquis.

40
00:02:46,900 --> 00:02:50,320
Pero también podría ser algún atributo o propiedad de esta clase.

41
00:02:50,650 --> 00:02:57,340
Y como es Null, se quiebra, se rompe y hasta ahí termina la ejecución normal de nuestra aplicación.

42
00:02:57,450 --> 00:03:03,460
Bueno, podríamos utilizar troikas y todo lo demás, pero siempre es mucho mejor prevenir, prevenir

43
00:03:03,520 --> 00:03:09,880
y antes de invocar un método o atributo, asegurarse de que tenga alguna referencia, algún valor.

44
00:03:09,970 --> 00:03:12,270
Para eso podemos utilizar, por ejemplo, Univ.

45
00:03:12,690 --> 00:03:16,800
Pero bien, este ejemplo por ahora lo vamos a dejar acá dentro de un gif.

46
00:03:17,470 --> 00:03:24,310
Entonces if es nulo, pero en realidad tendré que hacer la negación es distinto en uno, entonces tenemos

47
00:03:24,320 --> 00:03:30,820
alternativa, es nulo igual a Fool's o bien después vamos a ver ya, pero lo puedo negar conociendo

48
00:03:30,820 --> 00:03:33,020
aclamación, pero después le damos más detalles.

49
00:03:33,070 --> 00:03:36,130
Por ahora la negación sería Fool's.

50
00:03:36,810 --> 00:03:39,910
Recuerden que el nulo es TRU, entonces lo negamos.

51
00:03:39,940 --> 00:03:43,360
EFFORTS Entonces si es falso, es decir, si no es nulo.

52
00:03:45,570 --> 00:03:50,460
Mostremos el valor convertido mayuscula entonces ahora obviamente esto nos Ejecutã.

53
00:03:51,420 --> 00:03:59,610
Nos Ejecutã porque en realidad es nulo, pero evitamos el error, se lo salta, no ejecuta este código

54
00:04:00,590 --> 00:04:01,230
y eso está bien.

55
00:04:01,380 --> 00:04:05,940
Estamos manejando de alguna forma prevenir esta acepción, este error, pero continuemos.

56
00:04:06,330 --> 00:04:13,860
También puede ocurrir que queramos concatenar Soult y concatenar, por ejemplo, curso sabemosque curso

57
00:04:13,920 --> 00:04:16,530
en nulo punto con CATT.

58
00:04:19,690 --> 00:04:26,140
Desde cero sé nulo que no tienen referencia como vimos si invocamos el método con.

59
00:04:26,560 --> 00:04:28,810
También es un pulpo interceptara.

60
00:04:29,710 --> 00:04:33,880
Balancear esta acepción entonces también tendrá que estar dentro de ONIF.

61
00:04:34,120 --> 00:04:36,400
Pero incluso podría ser al revés.

62
00:04:36,450 --> 00:04:40,140
Podríamos querer concatenar otro estreno que sí tenga valor concurso.

63
00:04:40,480 --> 00:04:44,080
Por ejemplo, vamos a cambiar en vez de curso, vamos a colocar.

64
00:04:46,750 --> 00:04:55,330
Bienvenido, por ejemplo al curso y acá con qat colocamos cursos, suponiendo este curso, por ejemplo,

65
00:04:55,330 --> 00:04:56,800
es programación Java.

66
00:04:56,950 --> 00:05:07,320
Bienvenido al curso espacio programación ya, pero este de acá un objeto string punto con cat concatenados.

67
00:05:07,540 --> 00:05:11,770
El nombre de curso pero nombre de curso es nulo se fijan.

68
00:05:13,160 --> 00:05:21,770
Entonces, si ejecutamos, también lanza un pulpo interceptado en la línea 3 acá, es decir, no puedo

69
00:05:21,860 --> 00:05:28,640
concatenar un strict que si tiene una referencia, una instancia invocando el método con CATT con otro

70
00:05:28,700 --> 00:05:33,740
objeto del tipo strike es nulo en curso es nulo versus.

71
00:05:33,830 --> 00:05:36,140
Y acá tenemos una diferencia con el operador más.

72
00:05:36,470 --> 00:05:38,510
Por ejemplo, el operador más.

73
00:05:39,620 --> 00:05:42,230
Podríamos hacer esto más curso?

74
00:05:43,560 --> 00:05:45,480
Oímos cierto, pero curso el nulo.

75
00:05:46,170 --> 00:05:47,840
De esta forma no da error.

76
00:05:49,560 --> 00:05:51,660
Pero va a decir bienvenido al curso.

77
00:05:51,800 --> 00:05:56,460
No se fijan, pero al menos no da error y no se rompe la aplicación.

78
00:05:56,580 --> 00:06:02,760
Entonces bueno, con esto ya sabemos que el método con CATT solamente lo utilizamos cuando el objeto

79
00:06:02,760 --> 00:06:09,870
es trim que vamos a concatenar tiene una instancia, no es nulo ninguno de los dos ni el strict que

80
00:06:09,870 --> 00:06:16,140
le invocamos el concatena, por supuesto, ni tampoco el streeck que lo vamos a anexar o concatenar

81
00:06:16,230 --> 00:06:16,860
al primero.

82
00:06:17,880 --> 00:06:19,980
Entonces ahora voy a cortar esto.

83
00:06:20,460 --> 00:06:23,010
El tú a ver qué es lo voy a dejar acá.

84
00:06:23,760 --> 00:06:27,330
Entonces, si el nulo acá lo voy a dejar en Tru.

85
00:06:29,970 --> 00:06:32,540
Entonces, si es nulo, esto es lo mismo que decir.

86
00:06:34,380 --> 00:06:36,930
Igual si se cumple la condición.

87
00:06:38,920 --> 00:06:43,750
O incluso podría dejar esto acá en vez de esto.

88
00:06:43,990 --> 00:06:50,290
Recuerden que Nulo es una Arial del tipo Apulia y acá estamos evaluando esta presión, pero acá perfectamente

89
00:06:50,290 --> 00:06:51,770
podría colocar incurso.

90
00:06:52,120 --> 00:06:52,980
Igual anule.

91
00:06:53,080 --> 00:06:54,190
anulé 100 nulo.

92
00:06:54,490 --> 00:07:01,450
Entonces ejecutamos este código, pero acá lo tenemos en una variable, pero lo mismo lo es dejar solamente

93
00:07:01,450 --> 00:07:04,710
como variable, ya que se aplica a lo mismo.

94
00:07:08,740 --> 00:07:12,910
Si no le damos un valor por defecto curso programación Java.

95
00:07:17,110 --> 00:07:23,110
Entonces así evitamos el error nulo, le damos un valor por defecto y así podemos imprimir la mayúscula

96
00:07:23,470 --> 00:07:25,420
y concatenar incluso con el Kolkata.

97
00:07:28,530 --> 00:07:29,230
Y no dar.

98
00:07:33,090 --> 00:07:39,200
Te dejan todo en mayúscula bienvenido al curso, pero Lemosín ya y lo concatena sin ningún problema.

99
00:07:40,070 --> 00:07:42,230
Qué pasa si curso esto acá?

100
00:07:42,320 --> 00:07:43,790
Lo voy a comentar por ahora.

101
00:07:44,210 --> 00:07:47,150
Qué pasa si curso es un estre invasivo?

102
00:07:47,570 --> 00:07:51,430
Es decir, existe el objeto tiene referencia, pero no tiene contenido.

103
00:07:54,310 --> 00:07:54,970
Ejecutamos.

104
00:07:55,360 --> 00:07:58,510
Obviamente que nos da error, pero bienvenido el curso.

105
00:07:58,690 --> 00:08:03,440
No muestra nada y convertido a mayuscula tampoco, no tiene información.

106
00:08:04,210 --> 00:08:05,770
Entonces también podríamos valier esto.

107
00:08:06,010 --> 00:08:11,620
Cómo podríamos validar que el estrenan curso o cualquier streeck tenga un tamaño?

108
00:08:12,970 --> 00:08:16,460
Bullían vacío igual.

109
00:08:16,920 --> 00:08:19,050
Bueno, concurso punto.

110
00:08:19,240 --> 00:08:24,820
El método Link porque ahí tenemos el método Link y retorna un intuyes.

111
00:08:25,060 --> 00:08:28,690
Retorna un entero con la cantidad de caracteres.

112
00:08:28,960 --> 00:08:31,680
De esa forma podemos saber si es vacío o no..

113
00:08:31,720 --> 00:08:35,500
Por ejemplo, si la cantidad carácteres es igual a cero.

114
00:08:36,650 --> 00:08:40,410
Porque vacío se fijan entonces esto acá lo comodos.

115
00:08:40,550 --> 00:08:48,310
Imprimir el aparqué y el CAT siempre, cuando no sea así sea distinto de vacío.

116
00:08:49,380 --> 00:08:50,790
Entonces, por ejemplo, con un Univ.

117
00:08:51,590 --> 00:08:52,250
Vacío.

118
00:08:54,950 --> 00:08:57,080
Igual fouls la negación.

119
00:08:57,290 --> 00:08:59,840
Ahora recuerden que todo también se puede escribir de esta forma.

120
00:09:01,330 --> 00:09:09,080
Después lo vamos a ver, pero con él sin aclamación sé distinto ha sido la negación, lo podemos imprimir.

121
00:09:13,010 --> 00:09:15,080
El vacío se fijan como el vacío.

122
00:09:15,630 --> 00:09:16,600
Acá nos Ejecutã.

123
00:09:16,910 --> 00:09:20,340
Este bloque nunca se va a ejecutar y está perfecto.

124
00:09:21,580 --> 00:09:25,540
Acá creamos también el bullían el vacío, pero sería lo mismo que.

125
00:09:27,380 --> 00:09:28,010
Dejan Loka.

126
00:09:30,390 --> 00:09:36,390
Incluso con parentesis hay diferentes formas, pero con paréntesis no acepto, niego esta expresión.

127
00:09:37,080 --> 00:09:42,150
Con los paréntesis que sea distinto a esta expresión, a qué se hacía?

128
00:09:42,570 --> 00:09:44,610
O bien también otra forma.

129
00:09:46,390 --> 00:09:49,180
En vez de ser igual a cero, simplemente mayor.

130
00:09:50,160 --> 00:09:53,800
Que el largo sea mayor que cero si el largo que cero porque tiene contenido.

131
00:09:53,920 --> 00:09:56,650
Eso sería la inversa a esto Daka.

132
00:09:59,720 --> 00:10:04,340
Entonces, siempre quesero, tiene contenido, se imprime pero bien diferente, forma como no podemos

133
00:10:04,340 --> 00:10:04,760
abarcar.

134
00:10:04,850 --> 00:10:07,930
Después vamos a hacer un poco más detalle el IF.

135
00:10:08,820 --> 00:10:11,050
Bien lo he dejar de esta forma.

136
00:10:12,950 --> 00:10:18,730
Pero recuerden que la negación entonces con el signo exclamación lo dejas de esa forma.

137
00:10:20,510 --> 00:10:27,440
Pero tenemos un atajo en vez de escribir esto tal cual lo podemos hacer de otra forma más simple, pero

138
00:10:27,440 --> 00:10:32,200
antes para que vayan viendo el resultado, acá voy a imprimir el vacío.

139
00:10:38,360 --> 00:10:41,560
Entonces el vacío tru es nulo.

140
00:10:42,000 --> 00:10:45,790
Trump claro, porque acá es nulo, pero acá le dimos valor y no anula.

141
00:10:46,210 --> 00:10:48,330
Pero sí el vacío vacío otro.

142
00:10:48,700 --> 00:10:54,610
Ahora sí que vamos a ver esta otra forma o atajo, porque el estríctamente en el método is empty.

143
00:10:54,700 --> 00:10:56,560
Que al final hace exactamente lo mismo.

144
00:10:57,720 --> 00:11:00,510
Entonces por acá voy a crear el Bullían.

145
00:11:04,720 --> 00:11:07,120
Vacío 2 o la segunda forma.

146
00:11:08,080 --> 00:11:08,800
Curso.

147
00:11:08,890 --> 00:11:10,660
Punto y empate.

148
00:11:13,040 --> 00:11:13,730
Así de simple.

149
00:11:15,350 --> 00:11:16,640
Entonces ahora podemos usar.

150
00:11:17,560 --> 00:11:19,870
Este Dakar es vacío dos.

151
00:11:21,620 --> 00:11:23,440
Y mostramos SiO2.

152
00:11:24,640 --> 00:11:26,920
El resultado es idéntico al anterior.

153
00:11:28,210 --> 00:11:30,740
Dejan el vacío tru vacío.

154
00:11:30,780 --> 00:11:31,190
2.

155
00:11:31,620 --> 00:11:34,530
También estro ahora porque es idéntico porque sí.

156
00:11:34,680 --> 00:11:35,430
Control.

157
00:11:35,490 --> 00:11:35,840
Click.

158
00:11:36,150 --> 00:11:37,020
Hacemos un control.

159
00:11:37,020 --> 00:11:37,350
Click.

160
00:11:37,860 --> 00:11:44,640
Este método justamente evalúa que el largo sea igual a cero y si es igual a cero, bueno, es vacío.

161
00:11:44,810 --> 00:11:46,390
Se fijan exactamente lo mismo.

162
00:11:47,970 --> 00:11:48,610
Es un atajo.

163
00:11:49,030 --> 00:11:51,790
También se podría colocar de forma directa acá.

164
00:11:53,840 --> 00:11:57,420
Esto acá es distinto, es empty o.

165
00:11:58,370 --> 00:12:00,920
Si curso is empty, es igual a Fool's.

166
00:12:03,550 --> 00:12:07,660
Diferentes alternativas, pero que apunta exactamente al mismo resultado.

167
00:12:10,440 --> 00:12:11,870
Entonces es vacío.

168
00:12:11,950 --> 00:12:15,520
2 Dos Tru y acá ejecutamos este código.

169
00:12:15,540 --> 00:12:17,940
Siempre cuando empty sea.

170
00:12:18,540 --> 00:12:21,090
Es decir, no sea así, no tenga contenido.

171
00:12:21,750 --> 00:12:23,790
Y para finalizar, qué pasa si curso?

172
00:12:24,890 --> 00:12:25,790
Un espacio en blanco.

173
00:12:25,950 --> 00:12:30,600
Acá ya dejas el vacío porque tiene un espacio, un carácter, espacio.

174
00:12:30,830 --> 00:12:32,780
Entonces vamos a levantar.

175
00:12:34,000 --> 00:12:35,600
Y ahora todo se ejecuta.

176
00:12:36,290 --> 00:12:37,730
Bienvenido al curso.

177
00:12:37,760 --> 00:12:43,790
Pero como es un espacio en blanco, no lo muestra y un espacio en blanco convertió mayuscula, tampoco

178
00:12:43,790 --> 00:12:45,830
lo muestra, pero se está ejecutando este código.

179
00:12:46,430 --> 00:12:53,110
Entonces, bueno, eso cómo se resuelve con Blanck, que es un poco más estricto que sentí.

180
00:12:53,210 --> 00:12:59,330
De hecho, is black Vãlida que sea distinto en el primero también valida que sea distinto.

181
00:12:59,900 --> 00:13:06,500
Y además, que tenga contenido, que sea distinto de un espacio en blanco, bullían.

182
00:13:08,410 --> 00:13:10,910
Es blanco, igual curso.

183
00:13:12,050 --> 00:13:12,860
Punto.

184
00:13:13,270 --> 00:13:13,930
IS black.

185
00:13:15,800 --> 00:13:23,300
De esa forma sabemos si es blanco o si tiene un carácter de espacio y lo podemos valer.

186
00:13:24,170 --> 00:13:28,100
Entonces, ahora en vez de usar este, se quieren estropean, comentar y yo lo voy a modificar.

187
00:13:31,200 --> 00:13:34,600
Entonces, si es blanco y fouls, lo muestro.

188
00:13:37,120 --> 00:13:37,840
Solving.

189
00:13:40,290 --> 00:13:43,990
O pues es la negación con el signo de exclamación invertido.

190
00:13:47,060 --> 00:13:47,990
Vamos a ejecutar.

191
00:13:49,260 --> 00:13:50,350
Bijan Nulo.

192
00:13:50,650 --> 00:13:51,820
Tru vacío.

193
00:13:51,850 --> 00:13:52,510
Fouls.

194
00:13:52,600 --> 00:13:55,030
Fouls es falso porque no es vacío.

195
00:13:55,330 --> 00:13:57,190
Tiene un carácter, pero es blanco.

196
00:13:57,220 --> 00:14:02,920
Tru y esto de acá nos Ejecutã, lo omite de que lo estaba liando.

197
00:14:03,330 --> 00:14:06,100
Ahora sí que tocamos, por ejemplo, esto todo acá.

198
00:14:09,900 --> 00:14:16,920
Ya deja de ser blanco programación Java en primer curso, programación Java, entonces la forma más

199
00:14:17,070 --> 00:14:22,050
estricta y más segura de validar ECON es Blanck, que es una combinación.

200
00:14:22,350 --> 00:14:30,240
Entonces retorna True Selectric Vacío y es empty o si contiene espacios en blanco, tal como lo vimos

201
00:14:30,240 --> 00:14:30,480
acá.

202
00:14:31,950 --> 00:14:37,620
Recé mucho más segura y un tema importante que hay que tener en cuenta que IS Empty es la versión de

203
00:14:37,690 --> 00:14:44,990
Eva Ojota de Casais o 1.6, por lo tanto en la 1/8 para adelante no hay ningún problema, pero Blank

204
00:14:45,110 --> 00:14:48,500
solamente de DJ Deka 11 en adelante.

205
00:14:48,560 --> 00:14:51,770
Por ejemplo, si estamos con la 1/8 vamos a tener problema.

206
00:14:51,860 --> 00:14:56,140
Ese método no existe en la 1/8, no está implementado desde la ONCE.

207
00:14:56,180 --> 00:14:58,580
Entonces un tema importante que hay que tener en cuenta.

208
00:14:59,010 --> 00:15:01,500
Estas serían todas las formas para baldear un estreno.

209
00:15:01,790 --> 00:15:07,040
Las tintas, opciones y de esa forma asegurarnos de que estos parámetros tengan contenido y sobre todo

210
00:15:07,070 --> 00:15:12,290
cuando son strict, que se envían como parámetro del usuario porque el usuario podría no completar bien

211
00:15:12,380 --> 00:15:20,120
un formulario y enviar espacios en blanco o campo vacío, y podríamos tener información ambigua en nuestra

212
00:15:20,120 --> 00:15:20,630
aplicación.

213
00:15:20,750 --> 00:15:23,360
Nada más continuamos en la siguiente clase.
