✅✅ ✅ ✅ ✅ Todos mis cursos gratuitos 👉 www.pildorasinformaticas.es ✅✅ ✅ ✅ ✅ 🚀 ¿Quieres ejercicios? ¿Quieres más temario? 👉 www.pildorasinformaticas.es/course/java-tutorizado/🚀 🚀 ¿Quieres que te resuelva las dudas de Java? 👉 www.pildorasinformaticas.es/course/java-tutorizado/ 🚀 💥💥💥 Siempre seguiré subiendo cursos gratuitos por aquí. Gracias a todos por seguirme. 💥💥💥
"Hay hombres que luchan un día y son buenos. Hay otros que luchan un año y son mejores. Hay quienes luchan muchos años, y son muy buenos. Pero hay los que luchan toda la vida, esos son los imprescindibles. " Bertolt Brecht Profesor Gracias por tu constancia y por hacerte imprescindible!!!
Genio total!!! La claridad con la que explica, el tiempo que se toma. He visto muchos profesores, pero a este nivel creo que es unico. Inmensamente agradecido!!!!!!!! Saludos!!
Primero, gracias por tus interminables aportes. Segundo, quiero comentar un detalle que vi tanto en este video como en el anterior; cuando haces libro1=libro2, estarías diciéndole a la referencia del libro1, que apunte al objeto en memoria correspondiente a libro2, no viceversa. En el video, pones que tanto las referencias libro1 y libro2 van a apuntar al objeto en memoria de libro 1, pero para que ese suceda habría que escribir libro2=libro1. No sé si me estoy equivocando. Saludos, Juan!
👏👏👏👏👏👏👏👏👏 @pildorasinformaticas increíble, Juan sinceramente increíble, haces que todo sea sencillo. Eres uno de los agraciados con el DON de la enseñanza. Mil gracias.
Pues por culpa de gente como tú, que lo necesita todo sencillo, otros nos quemamos escuchando tanto detalle innecesario. Al final optamos por comprar un curso de udemy de un mexicano
Estimado Profesor ... muchas gracias por todos sus videos ... por muchisimo tiempo he estado buscando tutoriales, asistiendo a cursos de java, pero ninguno ninguno llenaba lo que queria, programo desde fortran 4, rpg, cobol, basic, 4glinformix ... sus videos son oro en polvo, inicie en agosto y hoy termine todo sin saltar uno solo. GRACIAS espero los restantes videos.... mientras vere sus videos de html5
+Luis Fernando Lopez Aguilar Gracias por tu comentario y por seguir mis vídeos. Me alegro de que te gusten. Espero que sigas aprendiendo cosas nuevas. Un cordial saludo.
Eres el mejor hermano, ya me habian explicado esto pero a ti te entiendo de las mil maravillas, tienes un don para explicar, desde Colombia te admiramos Gracias
maestro!! eres una maquina gracias a ti por fin puedo entender y acer algo que me gusta, gracias a tus videos puedo ponerlo a la practica y entenderlo todo a la perfeccion. muchas gracias por los videos que subes y por compartir por aqui tus conocimientos.
Pregunta, sí en el primer momento el equals() no apuntaban al mismo objeto en memoria, sino que tenían distinto hashCode, porque daba true? El mejor canal del mundo es este.
Lo primero felicitarte por el curso, gracias a el le estoy cogiendo el gusto a Java, cosa que me parecía imposible. Lo segundo preguntarte, que no lo he visto en toda la lista de vídeos, si has tratado el tema de pilas y colas,(voy por el vídeo 39 y no he visto nada de ello) o si tienes pensado tratarlo en algún vídeo. Muchas gracias por los vídeos y por tomarte la molestia de seguir con ellos, eres un crack!!
Tengo examen mañana y me he rallado por que era complicado, luego me he dado cuenta que te lo hace el programa como los get and set y casi me cago en ti por asustarme xDDDD gracias crack
Creo que se entiende mejor de esta manera: Obj obj = new Obj(); ClasePredefinida / Declarar Objeto / instancia InicializarObjeto /Obtener valor/atributo /valor obj .get ISBN = 25; LIbro libro = new Libro(); ClasePropia / Declarar Objeto / instancia inicializarObjeto /Obtener valor/atributo /valor libro .get ISBN = 25; La Coercion de la clase predefinida se hace con la finalidad de que ahora 'obj' sea un objeto de la clase propia, y si no es de esa manera no podria llamar al atributo de la clase propia NOTA: Cabe resaltar que los paramatros (Object obj ) no se pueden llamar de otra manera ya que es lenguaje reservado y exclusivo del metodo equals de java.lang
Juan, mientras espero a la publicación de tú libro puedes por favor recomendarme uno. Gracias y enhorabuena como siempre por tú canal. No nos abandones :)
Hola Juan, consuta ... video 182 minuto 12:15 tema hashcode, muestras como al realizar libro1=libro2, la instancia libro2 pasa a tener el mismo hashcode que libro1. La duda que me salta es, al igualarse el contenido de libro1 con el contenido de libro2, no debiese mantener el hashcode de libro2? pero se mantiene libro1. Por si no se entiende hare el ejemplo Hascode de libro1 = 1 Hascode de libro2 = 2 libro1 = libro2 como quedan los hashcode libro1= 1 libro2= 1 al imprimir los hashcode de libro1 y libro2 se mantiene el hashcode de libro1 (que seria 1) para ambos libros, mientras que normalmente debiesen ambos tener el hashcode 2.
+Oliver Vidal Hola !! Entiendo lo que preguntas, pero la verdad no sabría darte respuesta a esto. No se exactamente cómo gestiona internamente las posiciones de la memoria la máquina virtual Java. Un saludo!!
hola Gracias por los geniales videos!! Una duda: en el minuto 16:24 que indica que al sobrescribir el metodo hashCode transforma el numero largo en algo comprensible por el humano. No es que si se observa la rescritura por default que hace eclipse es que no está utilizando ningun hashCode, sino que por formula del eclipse (en minuto 15:54) genera un final llamado prime de valor 31 y luego variable result =prime*1+ISBN. Como el ISBN es 25, si se le suma 31, da el resultado 56 que es lo que el video muestra por consola. Es decir al rescribir el hashCode, no muestra el hashCode, sino que justamente muestra otro valor armado sin hashCode. ¿es así ó estoy equivocado? Gracias!!
A buena hora en kotlin te permite usar el equals y saber si un objeto es el mismo o no en parte gracias a las data class, aunque hay que hacer ciertas modificaciones si queremos aumentar su funcionalidad
una pregunta al sobreescribir el metodo equals es necesario pedir como parametro un objeto tipo objeto, en lugar del que necesitas comparar, en este caso libro??
Una pregunta en el metodo equals que hiciste: si el obj es una instancia de Libro para que le haces el casting a Libro si ya es una instancia de este: if (obj instanceof Libro) { Libro otro = (Libro) obj; }
Grande canal! Ers un capo. Sólo una duda, al hacer libro1 = libro2, ¿libro1 no haría referencia al heap de libro2, es decir, libro1 guardaría la misma dirección que guarda libro2? Saludos y agradecimientos desde México!
Así es: tienes razón. Tanto en este Vídeo como en el anterior está explicado AL REVÉS. cuando hacemos "libro1 = libro", es "libro1" el que apunta a "libro2"
@@Jose_Manuel_74 Eso es, me ha pasado igual. al ver libro1=libro2, entendía que libro1 "toma el valor" de libro2, con lo que dos dos aparecerían con el hashCode de libro2 ??
Luego indica que 46 es otra posición de memoria, pero me parece que no es una posición de memoria, sino el resultado de la formula de 31 prime FINAL+15 ISBN=46. Es decir piso al hasCode con un final y luego tomó la variable del objeto ya con casting en el equal (Libro). Mi duda es que ya no está comparando posiciones de memoria, sino otra cosa: ISBN ¿es así? Gracias!
El mejor curso de java que he visto, felicidades! una pregunta: cuando sobreescribes el metodo equals y luego lo quieres usar para comparar String ¿habria problema?
Yo no me quede con la duda, hice lo que Juan propone...Porque no pruebas tu? if (texto1.equals(texto2)){ System.out.println("Es el mismo texto"); }else{ System.out.println("No es el mismo texto"); } } static String texto1="xxx",texto2="xxx";
tengo una dudilla profe Juan, porque para sobreescribir los metodos no se pone encima de ellos @override? siento si la pregunta es simple o tal vez se respondiera en algún video y no me di cuenta, los he visto todos, pero lo mismo se me escapó ese detalle. Gracias de antemano :)
Hola, desde ya gracias por este gran aporte, son geniales tus vídeos, ademas quería plantear una duda, que diferencias hay entre usar la instrucción Set arg=new HashSet(); en lugar de instanciar directamente la clase HashSet, por ejemplo HashSet arg=new HashSet();. Probé haciéndolo de las dos maneras y funciona igual, hay alguna ventaja si se hace usando la interfas al principio? Gracias
Es una cuestión de polimorfismo. Si instancias directamente la clase tendrás acceso a los métodos especificos de la clase HashSet, más los que herede de Set y Object y si lo declaras como de tipo de la interfaz tendrás acceso a los métodos de la interfaz y los que hereda de Object, pero no a los específicos de la clase HashSet...
Excelente video. Me ha quedado una duda aunque teniendo en cuenta que el video hará 5 años casi recelo de que alguien pueda satisfacer mi curiosidad que no radica sino en lo siguiente: al sobrescribir el metodo hascode, aunque Java marque que son el mismo objeto, pues satisfacen los requisitos de los métodos, realmente las dos referencias apuntan a la misma localización en memoria o sólo es un ardid?. Hay dos objetos que arrojan el mismo hashcode gracias a los métodos o realmente hay dos localizaciones en memoria?
Estoy algo confundido: si el condicional if(obj instanceof Libro) ya es true, entonces para que hace un casting de obj a Libro si ya sabia por el condicional que obj pertenecia a la clase Libro?
Hola, gracias por tus vídeos, me han sido de mucha ayuda, solo tengo una duda y es, ¿que es lo que hace exactamente el método hashCode sobreescrito por eclipse? Ejemplo: 1.public int hashCode() { 2. final int prime = 31; 3. int result = 1; 4. result = prime * result + ((noCuenta == null) ? 0 : noCuenta.hashCode()); 5. return result; 6. } sobre todo quisiera saber qué hace la linea 4 de antemano gracias
Buenas, consulta, o sea que, el hashcode, da mismo hashcode de 2 instancias iguales cuando sobreescribimos el metodo hascode()? y da diferente hashcode cuando hay 2 instancias iguales pero no sobreescribimos el metodo hashcode sino que dejamos el que esta por defecto?
consulta si tengo que comparar dentro de una clase una variable de instancia del tipo int, al hacer el metodo equals, debo comparar con "==" o con ".equals" ? ya que cuando le paso el test me da errores
Tengo una confusion enorme. equals() compara el contendio de dos objetos mas no la direccion de memoria, es decir, la direccion de memoria debe ser diferente. Y == compara la direccion en memoria mas no el contenido. Al implementar hasCode() en la clase propia, aun creando dos instancias totalmente diferentes libro1 y libro2 el hashCode() para ambos es identico, no deberian tener distinta direccion en memoria?
saludos Maestro no tiene videos de como hacer reportes desde una base de datos y filtrarlos. me gustaría que usted nos de una pincela seria de mucha ayuda
cual seria la diferencia entre pasar un object y pasar directamente un objeto tipo libro?? asi te ahorrarias el casting y la comprobacion, pero si lo haces asi debe haber una buena razon.
Java utiliza dos memorias Heap y stack, cuando tu creas un Object name = new Hijo(); digamos que Hijo es subclase de Object, en la memoria Stack la variable name se guarda como object pero esta apuntando a un objeto de la clase hijo, esto es polimorfismos, yo puedo crear una variable del tipo padre que apunte a un objeto o instancia del tipo hijo, pero este objeto solo va a heredar los metodos que esten en la clase padre y aquellos que esten sobreescritos en la de hijo (o sea los mas recientes); ahora si le preguntas a java si Object name es una instancia de Hijo va a decir que es cierto, por que name apunta a la posicion de memoria de un objeto hijo, pero como object en si podria estar apuntando a cualquier objeto por que es la clase mas global, por ejemplo un objeto Animales o Personas, tienes que si o si hacer casting para que java este seguro que ese Object name esta apuntando a un hijo, y asi puedas trabajar con el. es muy complicado pero si buscas polimorfismos en java puedes encontrar mejores explicaciones
Se me escapa una cosa de equals.... Si creas una variable "otro" del tipo Libro y luego comparas libro1 y libro 2, como es que no se usa la variable "otro" que habías creado? no seria algo como: otro.libro2 ??
@@carlossilvarodriguez8302 Jaja eso dicen,que es mala práctica usar instanceof.Pero mira,si eso que la quiten y asi no la usamos.Yo personalmente te diria que uses instanceof si lo necesitas.
Si has escrito un libro te lo compro, porque me parece brutal como mi profesor en 3 horas no ha conseguido que entienda lo que tú has hecho que entienda en 20 minutos...
✅✅ ✅ ✅ ✅ Todos mis cursos gratuitos 👉 www.pildorasinformaticas.es ✅✅ ✅ ✅ ✅
🚀 ¿Quieres ejercicios? ¿Quieres más temario? 👉 www.pildorasinformaticas.es/course/java-tutorizado/🚀
🚀 ¿Quieres que te resuelva las dudas de Java? 👉 www.pildorasinformaticas.es/course/java-tutorizado/ 🚀
💥💥💥 Siempre seguiré subiendo cursos gratuitos por aquí. Gracias a todos por seguirme. 💥💥💥
"Hay hombres que luchan un día y son buenos. Hay otros que luchan un año y son mejores. Hay quienes luchan muchos años, y son muy buenos. Pero hay los que luchan toda la vida, esos son los imprescindibles. "
Bertolt Brecht
Profesor Gracias por tu constancia y por hacerte imprescindible!!!
+Jean Arteaga Bonito comentario. Gracias a ti por seguir mis cursos. Un saludo!!
El mejor profe del mundo de la programación es Ud.
La mejor explicación que se puede encontrar en español, ayuda bastante entender el tema de las colecciones.
Sos lo mejor que le paso al mundo y a mi carrera universitaria !
Genio total!!! La claridad con la que explica, el tiempo que se toma. He visto muchos profesores, pero a este nivel creo que es unico. Inmensamente agradecido!!!!!!!! Saludos!!
Gracias profe yo soy fan desde 2011 y panameño de corazón usted es mi ídolo lo quiero mucho
Esta explicación de Equals y HashCode vale oro; muchas gracias.
Primero, gracias por tus interminables aportes. Segundo, quiero comentar un detalle que vi tanto en este video como en el anterior; cuando haces libro1=libro2, estarías diciéndole a la referencia del libro1, que apunte al objeto en memoria correspondiente a libro2, no viceversa. En el video, pones que tanto las referencias libro1 y libro2 van a apuntar al objeto en memoria de libro 1, pero para que ese suceda habría que escribir libro2=libro1. No sé si me estoy equivocando. Saludos, Juan!
Si usas System.out.println(libro1.hascode()); y System.out.println(libro2.hasCode()); verás que sí imprime los valores que intuyes.
👏👏👏👏👏👏👏👏👏 @pildorasinformaticas increíble, Juan sinceramente increíble, haces que todo sea sencillo. Eres uno de los agraciados con el DON de la enseñanza. Mil gracias.
Gracias por el comentario. Me alegro de que te gusten los vídeos. Un saludo!!
Pues por culpa de gente como tú, que lo necesita todo sencillo, otros nos quemamos escuchando tanto detalle innecesario. Al final optamos por comprar un curso de udemy de un mexicano
Puff que par de videos. Lo mejor de todo el internet !!!
lo Felicito por el tiempo que se da por estos excelente curso sigue adelante lo felicito
+Luis Carlos Jimenez Gutierrez Gracias por seguir mis vídeos. Un saludo
Que fácil de entender un tema tan difícil, ¡GRACIAS JUAN!
Estimado Profesor ... muchas gracias por todos sus videos ... por muchisimo tiempo he estado buscando tutoriales, asistiendo a cursos de java, pero ninguno ninguno llenaba lo que queria, programo desde fortran 4, rpg, cobol, basic, 4glinformix ... sus videos son oro en polvo, inicie en agosto y hoy termine todo sin saltar uno solo. GRACIAS espero los restantes videos.... mientras vere sus videos de html5
+Luis Fernando Lopez Aguilar Gracias por tu comentario y por seguir mis vídeos. Me alegro de que te gusten. Espero que sigas aprendiendo cosas nuevas. Un cordial saludo.
Excelente el metodo de enseñaza, muchas gracias por esta clase profesor.
Que buena pedagogía profe, saludos desde Argentina.
Saludos Pìldorasinformáticas.
Gracias por el tiempo dedicado a explicar detalles simples y necesarios.
Gracias por el comentario y por seguir mis vídeos. Un saludo!!
Eres el mejor hermano, ya me habian explicado esto pero a ti te entiendo de las mil maravillas, tienes un don para explicar, desde Colombia te admiramos Gracias
Profe muchas gracias, estos videos han sido lo mejor para sobrellevar esta época de pandemia. He aprendido mucho, saludos!
maestro!! eres una maquina gracias a ti por fin puedo entender y acer algo que me gusta, gracias a tus videos puedo ponerlo a la practica y entenderlo todo a la perfeccion. muchas gracias por los videos que subes y por compartir por aqui tus conocimientos.
+jesus moreno Hola !! Gracias a ti por tu comentario y por seguir mis vídeos. Me alegro de que te gusten. Un saludo
Todo un Cyborg Juan!!
De lujo los videos agradeciendote y nada aprendiendo una vez mas!!
:))) jejeje, gracias por el comentario. Un saludo!!
Pedro Albarracín: Sí trataré XML en el curso. Gracias por seguir mis vídeos. Un saludo
Hola Juan! Hablaras de anotaciones? porque no las entiendo, desde ya muy buenos tus videos, explicas super bien!!
Simplemente genial, admiro el trabajo y el tiempo que te tomas para que todo nos quede muy muy claro. Mil gracias
GRACIAS POR TANTO JUAN !
TE AMO !!
9:04 ¡magia!
Gracias por tanto profe, perdon por tan poco :)
Gracias por subir sus vídeos, son muy buenos.
+Johan Fonseca Sanchez Gracias !! Un saludo
Pregunta, sí en el primer momento el equals() no apuntaban al mismo objeto en memoria, sino que tenían distinto hashCode, porque daba true?
El mejor canal del mundo es este.
Muchas gracias, no lograba entender el metodo HashCode(), ya me quedó mucho mas claro.
Me alegro !! Un saludo
No habia entendo bien lo de equals y hash code hasta este video, muchas gracias :D
Gracias por tu tiempo ❤❤❤
Gracias por la explicación del hashCode and equal
Gracias por compartir tu tiempo .
Lo primero felicitarte por el curso, gracias a el le estoy cogiendo el gusto a Java, cosa que me parecía imposible.
Lo segundo preguntarte, que no lo he visto en toda la lista de vídeos, si has tratado el tema de pilas y colas,(voy por el vídeo 39 y no he visto nada de ello) o si tienes pensado tratarlo en algún vídeo.
Muchas gracias por los vídeos y por tomarte la molestia de seguir con ellos, eres un crack!!
+darksineater Hola !! Gracias por el comentario. Se tratará el tema de las colas con las colecciones. Un saludo
Tengo examen mañana y me he rallado por que era complicado, luego me he dado cuenta que te lo hace el programa como los get and set y casi me cago en ti por asustarme xDDDD gracias crack
Excelente explicación! muchas gracias
Creo que se entiende mejor de esta manera:
Obj obj = new Obj();
ClasePredefinida / Declarar Objeto / instancia
InicializarObjeto /Obtener valor/atributo /valor
obj .get ISBN = 25;
LIbro libro = new Libro();
ClasePropia / Declarar Objeto / instancia
inicializarObjeto /Obtener valor/atributo /valor
libro .get ISBN = 25;
La Coercion de la clase predefinida se hace con la finalidad de que ahora 'obj' sea un objeto de la clase propia, y si no es de esa manera no podria llamar al atributo de la clase propia
NOTA: Cabe resaltar que los paramatros (Object obj ) no se pueden llamar de otra manera ya que es lenguaje reservado y exclusivo del metodo equals de java.lang
Juan, mientras espero a la publicación de tú libro puedes por favor recomendarme uno. Gracias y enhorabuena como siempre por tú canal. No nos abandones :)
min 17:46 tu pronunciacion hace referencia a has shit y no a hash set. Juan es una perlita como decimos en Argentina. Excelentes tus videotutoriales.
Hola Juan, consuta ... video 182 minuto 12:15 tema hashcode, muestras como al realizar libro1=libro2, la instancia libro2 pasa a tener el mismo hashcode que libro1. La duda que me salta es, al igualarse el contenido de libro1 con el contenido de libro2, no debiese mantener el hashcode de libro2? pero se mantiene libro1.
Por si no se entiende hare el ejemplo
Hascode de libro1 = 1
Hascode de libro2 = 2
libro1 = libro2
como quedan los hashcode
libro1= 1
libro2= 1
al imprimir los hashcode de libro1 y libro2 se mantiene el hashcode de libro1 (que seria 1) para ambos libros, mientras que normalmente debiesen ambos tener el hashcode 2.
+pildorasinformaticas Me faltó agradecerte por tu enorme trabajo con este excelente tutorial.
Saludos!!
+Oliver Vidal Hola !! Entiendo lo que preguntas, pero la verdad no sabría darte respuesta a esto. No se exactamente cómo gestiona internamente las posiciones de la memoria la máquina virtual Java. Un saludo!!
Excelente explicación👍
Excelente vídeo. Muchas gracias.
Gracias, me resulto de gran ayuda.
hola Gracias por los geniales videos!! Una duda: en el minuto 16:24 que indica que al sobrescribir el metodo hashCode transforma el numero largo en algo comprensible por el humano. No es que si se observa la rescritura por default que hace eclipse es que no está utilizando ningun hashCode, sino que por formula del eclipse (en minuto 15:54) genera un final llamado prime de valor 31 y luego variable result =prime*1+ISBN. Como el ISBN es 25, si se le suma 31, da el resultado 56 que es lo que el video muestra por consola. Es decir al rescribir el hashCode, no muestra el hashCode, sino que justamente muestra otro valor armado sin hashCode. ¿es así ó estoy equivocado? Gracias!!
eres el rey de reyes
Gracias, muy buenos videos
2021 y me sirvio mucho, gracias
muy buena explicacion, excelente!!!!!
Gracias por tus videos Juan. Me gustaria preguntarte si trataras algo sobre XML en Java.
Para proximos videos podrias poner ejercicios para practicar lo que has explicado? muchas gracias tus videos me han ayudado muchisimo!!, un saludo
Tema difícil. Pero lo he entendido. Gracias.
A buena hora en kotlin te permite usar el equals y saber si un objeto es el mismo o no en parte gracias a las data class, aunque hay que hacer ciertas modificaciones si queremos aumentar su funcionalidad
Genio total!
una pregunta al sobreescribir el metodo equals es necesario pedir como parametro un objeto tipo objeto, en lugar del que necesitas comparar, en este caso libro??
Increíble maestro
Una pregunta en el metodo equals que hiciste: si el obj es una instancia de Libro para que le haces el casting a Libro si ya es una instancia de este:
if (obj instanceof Libro) {
Libro otro = (Libro) obj;
}
Porque el objeto que pasa por paramétro es de la clase Object y no Libro.
Grande canal! Ers un capo. Sólo una duda, al hacer libro1 = libro2, ¿libro1 no haría referencia al heap de libro2, es decir, libro1 guardaría la misma dirección que guarda libro2? Saludos y agradecimientos desde México!
Ya no recuerdo el código de este vídeo, pero efectivamente si los igualas, apuntarán a la misma dirección. Un saludo!!
Así es: tienes razón. Tanto en este Vídeo como en el anterior está explicado AL REVÉS. cuando hacemos "libro1 = libro", es "libro1" el que apunta a "libro2"
@@Jose_Manuel_74 Eso es, me ha pasado igual. al ver libro1=libro2, entendía que libro1 "toma el valor" de libro2, con lo que dos dos aparecerían con el hashCode de libro2 ??
Luego indica que 46 es otra posición de memoria, pero me parece que no es una posición de memoria, sino el resultado de la formula de 31 prime FINAL+15 ISBN=46. Es decir piso al hasCode con un final y luego tomó la variable del objeto ya con casting en el equal (Libro). Mi duda es que ya no está comparando posiciones de memoria, sino otra cosa: ISBN ¿es así? Gracias!
El mejor curso de java que he visto, felicidades!
una pregunta: cuando sobreescribes el metodo equals y luego lo quieres usar para comparar String ¿habria problema?
+Rafael Arancibia Banda Hola !! Gracias por el comentario. Ningún problema siempre y cuando la sobreescritura tenga código coherente. Un saludo!!
Yo no me quede con la duda, hice lo que Juan propone...Porque no pruebas tu?
if (texto1.equals(texto2)){
System.out.println("Es el mismo texto");
}else{
System.out.println("No es el mismo texto");
}
}
static String texto1="xxx",texto2="xxx";
tengo una dudilla profe Juan, porque para sobreescribir los metodos no se pone encima de ellos @override? siento si la pregunta es simple o tal vez se respondiera en algún video y no me di cuenta, los he visto todos, pero lo mismo se me escapó ese detalle. Gracias de antemano :)
Hola, desde ya gracias por este gran aporte, son geniales tus vídeos, ademas quería plantear una duda, que diferencias hay entre usar la instrucción Set arg=new HashSet(); en lugar de instanciar directamente la clase HashSet, por ejemplo HashSet arg=new HashSet();.
Probé haciéndolo de las dos maneras y funciona igual, hay alguna ventaja si se hace usando la interfas al principio?
Gracias
Es una cuestión de polimorfismo.
Si instancias directamente la clase tendrás acceso a los métodos especificos de la clase HashSet, más los que herede de Set y Object
y si lo declaras como de tipo de la interfaz tendrás acceso a los métodos de la interfaz y los que hereda de Object, pero no a los específicos de la clase HashSet...
Excelente video. Me ha quedado una duda aunque teniendo en cuenta que el video hará 5 años casi recelo de que alguien pueda satisfacer mi curiosidad que no radica sino en lo siguiente: al sobrescribir el metodo hascode, aunque Java marque que son el mismo objeto, pues satisfacen los requisitos de los métodos, realmente las dos referencias apuntan a la misma localización en memoria o sólo es un ardid?. Hay dos objetos que arrojan el mismo hashcode gracias a los métodos o realmente hay dos localizaciones en memoria?
Lo máximo !!!
Estoy algo confundido: si el condicional if(obj instanceof Libro) ya es true, entonces para que hace un casting de obj a Libro si ya sabia por el condicional que obj pertenecia a la clase Libro?
Sigue siendo un Object ,xd,pero tienes razón,deberia poder comportarse como un Libro,verdad? Maldito Java -_-
NetBeans no me agrega los usuarios iguales aunque no tenga los metodos hashCode e equals, sera una actualizacion?
Hola, gracias por tus vídeos, me han sido de mucha ayuda, solo tengo una duda y es, ¿que es lo que hace exactamente el método hashCode sobreescrito por eclipse?
Ejemplo:
1.public int hashCode() {
2. final int prime = 31;
3. int result = 1;
4. result = prime * result + ((noCuenta == null) ? 0 : noCuenta.hashCode());
5. return result;
6. }
sobre todo quisiera saber qué hace la linea 4
de antemano gracias
Buenas, consulta, o sea que, el hashcode, da mismo hashcode de 2 instancias iguales cuando sobreescribimos el metodo hascode()? y da diferente hashcode cuando hay 2 instancias iguales pero no sobreescribimos el metodo hashcode sino que dejamos el que esta por defecto?
@pildorasinformaticas
Bendita sea la alumna que te animó a subir vídeos a RUclips.
gracias me costo pero lo pude hacer
consulta si tengo que comparar dentro de una clase una variable de instancia del tipo int, al hacer el metodo equals, debo comparar con "==" o con ".equals" ? ya que cuando le paso el test me da errores
Los primitivos se deberian comparan con el operador "==".
Para String,Date y Objects se usa el método .equals(Object obj).
Gracias!!!
¿Por qué en los Enum no se puede sobreescribir los equal ni los hashcode?
Tengo una confusion enorme. equals() compara el contendio de dos objetos mas no la direccion de memoria, es decir, la direccion de memoria debe ser diferente. Y == compara la direccion en memoria mas no el contenido. Al implementar hasCode() en la clase propia, aun creando dos instancias totalmente diferentes libro1 y libro2 el hashCode() para ambos es identico, no deberian tener distinta direccion en memoria?
Creqo que acabo de encontrar la respuesta: HashCode no tiene nada que ver con la direccion en memoria
Me podrás ayudar en un código?
Quiero hacer algo similar pero mediante arraylist
Como haría en ese caso
saludos Maestro no tiene videos de como hacer reportes desde una base de datos y filtrarlos. me gustaría que usted nos de una pincela seria de mucha ayuda
Hola !! Más adelante en el curso se ve cómo conectar con BBDD, obtener registros y filtrar estos con diferentes criterios. Un saludo!!
Genial!!!!!
Me gustan sus tutoriales de java, cree que nos pueda enseñar un poco de diagrama de flujo !Por favor!.
Porqué sobreescribir el método equals pudiendo crear nuestro propio método "iguales"?
cual seria la diferencia entre pasar un object y pasar directamente un objeto tipo libro?? asi te ahorrarias el casting y la comprobacion, pero si lo haces asi debe haber una buena razon.
Espera, el hashcode devuelve el stack o el heap?
Que crack!
Hola alguien me podria decir porqué hay que hacer casting del objeto, si instance of está diciendo que es un objeto de tipo libro?
Java utiliza dos memorias Heap y stack, cuando tu creas un Object name = new Hijo(); digamos que Hijo es subclase de Object, en la memoria Stack la variable name se guarda como object pero esta apuntando a un objeto de la clase hijo, esto es polimorfismos, yo puedo crear una variable del tipo padre que apunte a un objeto o instancia del tipo hijo, pero este objeto solo va a heredar los metodos que esten en la clase padre y aquellos que esten sobreescritos en la de hijo (o sea los mas recientes); ahora si le preguntas a java si Object name es una instancia de Hijo va a decir que es cierto, por que name apunta a la posicion de memoria de un objeto hijo, pero como object en si podria estar apuntando a cualquier objeto por que es la clase mas global, por ejemplo un objeto Animales o Personas, tienes que si o si hacer casting para que java este seguro que ese Object name esta apuntando a un hijo, y asi puedas trabajar con el. es muy complicado pero si buscas polimorfismos en java puedes encontrar mejores explicaciones
Se me escapa una cosa de equals.... Si creas una variable "otro" del tipo Libro y luego comparas libro1 y libro 2, como es que no se usa la variable "otro" que habías creado? no seria algo como: otro.libro2 ??
Minuto 4:49 se me cayó un idolo, instanceof en mi universidad te deja fuera de carrera.
instanceof no debería utilizarse? o a que se refiere? podría explicarlo por favor? gracias
@@carlossilvarodriguez8302 Jaja eso dicen,que es mala práctica usar instanceof.Pero mira,si eso que la quiten y asi no la usamos.Yo personalmente te diria que uses instanceof si lo necesitas.
Hola no me deja ver la imagen del video, solo el audio. Es problema mío o a alguien mas le pasa?
Que nivel por favor!
Cómo lo partes, Juan. Un saludo.
+Dovi Se intenta ;) Un saludo
Si has escrito un libro te lo compro, porque me parece brutal como mi profesor en 3 horas no ha conseguido que entienda lo que tú has hecho que entienda en 20 minutos...
sigo confirmando que mentalmente me desgasto con muchos detalles inútiles. Mira que le doy importancia a todo, pero tu te pasas juan
no entiendes el operador de asignación (=)
calidad .equals(prof.juan) ----------------------------------- > True.