Bienvenidos en esta clase, vamos a ver un poco más sobre el tipo streeck, cuál es la diferencia,
por ejemplo, entre crear una instancia, un objeto streeck con el operador new de forma explícita versus
crear de la forma literal solamente con las comillas, tal como lo hemos estado haciendo.
Hay una diferencia y es lo que vamos a ver en esta clase.
Nos vamos a ir a ese rocé y vamos a crear nuestro ejemplo, nuestra clase de IAVA con el método Main.
Le vamos a llamar ejemplo Strict
con el método Main.
íbamos a crear una variable del tipo estricto.
Por ejemplo, curso
programación Java, hoy estamos creando un objeto del tipo que es de referencia.
Es muy importante que comprenda que el tipo string es un tipo especial.
No es un primitivo como pareciera ser, porque estamos creando el valor en la literal con las comillas
de forma explícita.
Colocamos un valor, un texto y se lo asignamos al área de curso.
Entonces, claro, muy parecido a un primitivo, pero en realidad es un objeto, es decir, por debajo.
Java va a crear el objeto streeck y se lo asigna a la variable.
Cursa por debajo con el operador New.
No lo vemos, pero crea el objeto, crea la referencia.
Y por qué es así?
Es un tipo especial.
Es uno de los pocos tipos en Java que podemos crear la instancia en la literal de forma directa.
Y esto es así porque como es tan utilizado y se usa una y otra vez los tipos.
Trig en nuestras aplicaciones Java, que en las primeras versiones del JDK de Java se optó por crear
esta forma para automatizar, para no tener que estar escribiendo siempre el news trick por cada texto
en nuestra aplicación.
Entonces, para simplificar y automatizar y que sea un poco más dinámico, más ágil, los objetos streeck
se crean de esta forma especial.
Pero también, por ejemplo, streeck curso dos no lo podemos crear con el New Strength.
La clase es Trenc y por constructor cuando creamos el objeto, después vamos a saber más en detalle
sobre el NIU, pero acá se recibe argumentos y podemos pasar parámetros en estos argumentos.
Algún valor?
En este caso el texto voy a copiar.
Entre comillas y pasamos el streeck por argumento, el constructor es otra forma muy similar.
Entonces también crea una instancia de la clase streeck, es decir, un objeto y se lo damos a cursos.
Pero como son objetos en Java, todo objeto en nuestro ecosistema, nuestra aplicación Villaba son distintos,
son únicos y cada uno tiene su propio identificador, todos todo o completamente diferentes y únicos
en nuestra aplicación.
A pesar de que Curso 2 y curso comparten el mismo valor, ambos tienen el mismo texto de la cadena programación
Java, pero sin duda son objetos completamente distintos en nuestra aplicación y Java lo interpreta
de esa forma.
Por lo tanto, si queremos comparar, por ejemplo, bullían es igual.
Entonces vamos a comparar curso igual, igual cursos dos.
Cuál va a ser el resultado?
Y eso lo vamos en Primera aka.
Vamos a levantar, debiese ser falso.
Falso, porque son dos instancias distintas, completamente diferente.
Una se crea el objeto de forma implícita, automática y por debajo se especifica el valor en la literal.
Y la segunda se está creando de forma explícita con el niño, a pesar de que tienen el mismo valor,
pero son dos objetos distintos.
Pero cuál sería la forma correcta si quisiera comparar estos streeck?
Pero no por la instancia, no por el objeto en sí mismo, sino por el valor.
Bueno, para eso tendríamos que utilizar el método y cuarzo.
Démosles un poco más abajo.
Es igual, vamos a cambiar este.
Bullían y vamos a cambiar por curso.
Punto y quals?
Curso 2 El método Retornã Tru o Fors un pulían y volvemos a imprimir, en este caso va a ser tru, porque
el método hijuelos lo que hace es comparar por valor.
Compara el valor de programación Java de curso con programación Java de curso.
2.
Pero comparar el texto cuando trabajamos con objetos que conectan sias con el igual igual compara la
referencia el objeto.
Pero si queremos comparar por algún valor algún atributo, se hace a través de licuarse y en el tipo
string se compara directamente el valor del string, no el objeto, sino el valor con el método hijoas.
Entonces recuerden siempre el string de referencia.
Por lo tanto, tiene métodos como el licua es bueno y mucho más que vamos a ver durante el curso.
Ahora qué pasa si?
Programación en el New Curso 2, programación en el nuevo no lleva acento, es simplemente programación
Java.
Hay una diferencia.
Incluso podría estar en minúscula.
Se dejan?
Bueno, en este caso va a ser distinto porque ya el acento en un carácter completamente diferente lo
vamos a ejecutar.
Fours se fijan importante que sea exactamente igual con el linguas.
Ahora qué pasa si estas solamente con minúscula lleva minúscula y la p con minúscula?
Hay una diferencia de mayúsculas minúsculas minúscula, nada más.
Bueno, como vimos también efforts, pero hay una versión de licuarse.
Que se llama y Norkys ignore que es ignorar mayúscula minúscula.
Entonces si cambiamos sexto curso y quals y norkys?
Va a ser Trump?
Porque compara ambos, pero sin tomar en cuenta la mayúscula y minúscula.
Eso es también importante cuando queremos comparar cadenas por el valor tomar en cuenta el Norkys.
Lo dejé como estaba.
Ahora en Yaga hay una particularidad voy a crear otro objeto estrena curso 3 igual con comillas de forma
literal implícita el mismo valor, pero la nación ya lo voy a copiar y pegar acá es igual.
Ahora voy a comparar curso con curso.
3.
Cuál será el resultado entre curso que se crea de forma literal concurso.
3 Que también se crea de forma literal y ambos comparten el mismo valor.
Mismo texto.
Se fijan es Trump.
Pero por qué?
Por qué?
Bueno, lo que pasa cuando se crea un objeto en la literal del tipo es streeck.
Y después se vuelve a crear otro objeto, el tipo de trip, que contiene el mismo valor de un objeto
que ya está creado en nuestra aplicación.
Por ejemplo, curso programación Java existe con ese valor y luego creamos curso 3.
Con ese mismo valor.
Lo que hace es crear un nuevo objeto para optimizar.
Entonces, en vez de crear una nueva instancia de curso 3.
Un nuevo objeto, lo que hace es asignar la referencia del curso que ya existe.
Entonces afín al curso tres es igual a curso y no a una nueva instancia de un string.
Entonces, por eso curso es igual a cursos 3 y esto lo hace solamente para optimizar, para no tener
que estar creando tantos objetos en memoria en nuestra aplicación de forma automática.
Detecta que existe una instancia con ese mismo texto en nuestro sistema y le asigna esa referencia.
Por lo tanto, son iguales.
Es el mismo objeto, pero en distinta variable que se guarda en distinta variable en curso y en curso.
3.
Para que quede un poco más explícito.
Vamos a cambiar acá el strike en los print.
Por ejemplo, vamos a colocar esto acá.
Vamos a colocar esto.
íbamos a colocar esto acá.
I Curso 2 Lo vamos a colocar como estaba en mayúscula la P y ya va en mayúscula.
Entonces curso igual igual curso dos fouls porque son diferentes objetos diferentes, instancia uno
se crea de forma literal, implícita, se crea el objeto por debajo y la segunda de forma explícita
con el nuevo objeto distinto.
Pero podemos comparar estos dos objetos solamente por el valor con el cuarzo y como son iguales en contenido,
en texto, estrobo y luego para finalizar tenemos curso igual igual.
Curso 3 2 objeto que al final es el mismo porque se está creando de forma literal acá y también acá.
Y cómo comparten el mismo valor y ya existe un objeto o curso con este valor?
Simplemente se asigna esta referencia en curso 3 y así se ahorra una instancia en nuestra aplicación
utiliza la misma.
Entonces, por lo tanto, es igual.
Entonces, como recomendación, siempre que queramos comparar por valor nuestros streeck se tiene que
usar con el método hijuelos o bien y quals ignoré cais ignorar mayúscula y minúscula siempre y rara
vez o nunca vamos a utilizar esta forma.
Comparar las instancias siempre por el valor con el Icfes continuamos en la siguiente clase.