Título: Método que "puede o no" devolver un entero Publicado por: NikNitro! en 19 Diciembre 2013, 22:52 pm Buenas. Me encuentro implementando una tabla hash y el método int searchIdx(K key) debería devolver o null si el elemento no está, o el hash de la key. La duda es que no se que poner. Se que en Haskell se puede poner (algo así, no estoy seguro del todo, tendría que mirarlo para confirmarlo) como data res = nothing | integer
El código es el siguiente: Código: public class LinearProbingHashTable<K,V> implements HashTable<K,V>{ por supuesto me da error en el return null pues me dice que éste no es un entero... ¿Qué debo hacer? Gracias ;) Título: Re: Método que "puede o no" devolver un entero Publicado por: ThinkByYourself en 19 Diciembre 2013, 23:31 pm En lugar de int pones Integer y no problemo
Título: Re: Método que "puede o no" devolver un entero Publicado por: dainodaibouken en 19 Diciembre 2013, 23:45 pm por que no intentas con un parsing
Título: Re: Método que "puede o no" devolver un entero Publicado por: Mitsu en 20 Diciembre 2013, 13:41 pm Según lo que recuerdo, un HashMap o en su versión antigua un HashTable (deprecated) no podía tomar un key value null. Ya que null no es un objeto, ¿cómo podrías llamar a equals(Object o) o a hashCode()?
No utilices HashTable, utiliza HashMap y ten en cuenta que por cuestión de buena programación y estructura, una key no puede ser null. Título: Re: Método que "puede o no" devolver un entero Publicado por: Nasty35 en 21 Diciembre 2013, 15:56 pm Haces un return 0, y con un if compruebas que si retorna 0, es por un error (y lo manejas).
Título: Re: Método que "puede o no" devolver un entero Publicado por: NikNitro! en 22 Diciembre 2013, 16:01 pm Resulta que lo estaba planteando mal. Ese método debe devolver el índice en el que debería estar la key... Esté ella o no, asi que devuelve siempre un número positivo ;)
Salud PD: Si quereis algo del código pedidmelo ;) Título: Re: Método que "puede o no" devolver un entero Publicado por: ~ Yoya ~ en 22 Diciembre 2013, 22:43 pm No puedes devolver un null en un método que retorna un valor de tipo primitivo, por eso el error.
En este caso debes utilizar un Wrapper class como ha dicho @NoBullshit, o retornar un 0 pero en ese caso quizás deberías modificar algunas lineas de código para que funciona. Saludos. |