he declarado lo siguiente HashMap:get() la función de Java HashMaps
HashMap<Integer, Hive> hives
Dónde Colmena es un objeto.
Si llamo "hives.get (2)", ¿devolverá una copia del objeto Hive en esa ubicación o una referencia a ella?
Mi objetivo es modificar el objeto Hive en esa ubicación. Si devuelve la referencia, puedo simplemente modificar la colmena devuelta y terminar. Sin embargo, si se devuelve una copia, tendré que volver a colocar esa copia en el hashmap.
Disculpe la simple pregunta. Traté de buscar una solución, pero en todas partes que miré, simplemente decía que se devolvería el valor, pero no decía si sería una copia del valor o una referencia a él.
Gracias, Zain
- Java es pasar por valor. http://javadude.com/articles/passbyvalue.htm – cherouvim
Está bien, ya que no se puede desreferenciar los punteros de los objetos en Java, creo que es * técnicamente * pasaje por valor. Pero decir eso sería totalmente engañoso para la persona que hizo la pregunta. Parece una especie de argumento quisquilloso, en mi opinión. – hbw
Todo en Java pasa por valor. Pasa referencias de objeto por valor. Si pasó la referencia del objeto por referencia, puede cambiar el valor de la referencia. A continuación, un método llamado podría cambiar el valor de la referencia en el método de llamada. Java no es compatible con esto, ya que solo se pasa por valor. –