elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  ¿Fallo de casting?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Fallo de casting?  (Leído 3,589 veces)
SKalextric

Desconectado Desconectado

Mensajes: 8


Ver Perfil
¿Fallo de casting?
« en: 15 Octubre 2008, 12:08 pm »

Hola gente, os comento un problemilla, acabo de llegar de la facultad y de estar dandole al eclipse, y al pasarme a mi portatil el proyecto con el que estaba trabajando, de repente me salen errores con los tipos.
Os pongo un ejemplo:
Código
  1. public class RacionalImpl implements Racional {
  2. private Integer den;
  3. private Integer num;
  4.  
  5.  
  6. public RacionalImpl (Integer num1, Integer den1){
  7. den=num1;
  8. num=num1;
  9. }
  10. public RacionalImpl (){
  11. den=1;  <---- Fallo
  12. num=0; <----Fallo
  13. }
  14. public RacionalImpl (Integer num1){
  15. num=num1;
  16. den=1; <---- Fallo
  17. }
  18.  
  19. //Consultores
  20. public Integer getDenominador() {
  21. return den;
  22. }
  23.  
  24. public Integer getNumerador() {
  25. return num;
  26. }
  27.  
  28. public void setDenominador(Integer den) {
  29. this.den=den;
  30.  
  31. }
  32.  
  33.  
  34. public void setNumerador(Integer num) {
  35. this.num=num;
  36.  
Donde pone "<--- Fallo" eclipse me cuenta esta historia: "Type mismatch cannot convert from int to Integer". No se si será devido a la clase envoltura esta o si es del JDK, a ver si podeis ayudarme. Gracias.


En línea

Casidiablo
Desarrollador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.919



Ver Perfil WWW
Re: ¿Fallo de casting?
« Respuesta #1 en: 15 Octubre 2008, 16:14 pm »

Pues no te debería haber funcionado en la facultad, o al menos eso creo. Ten en cuenta que si haces algo como:

den=1;

den es un objeto de tipo Integer, mientras que 1 es un dato primitivo tipo int. Tienes dos maneras de solucionarlo:

  • O declaras los datos como int (cambias Integer den; por int den;)
  • O en vez de hacer esto: den=1; haces esto: den=new Integer(1);

Un saludo!


En línea

SKalextric

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: ¿Fallo de casting?
« Respuesta #2 en: 15 Octubre 2008, 16:59 pm »

Acabo de ponerme en windows y no da error de ningún tipo y funciona correcto, estoy pensando que pueda ser del JDK de linux.
Según me ha comentado el profesor cuando introduces Integer automáticamente crea el objeto según me has dicho "den=new Integer(1);", de ahi que no use el tipo primitivo.
Pero ya te digo funcionar, funciona, porque hemos estao trapicheando asi en clase hoy.
« Última modificación: 15 Octubre 2008, 17:34 pm por SKalextric » En línea

juancho77


Desconectado Desconectado

Mensajes: 455


rie con demencia


Ver Perfil
Re: ¿Fallo de casting?
« Respuesta #3 en: 15 Octubre 2008, 19:12 pm »

Si, depende de la version del compilador de Java, no si estas en Windows o Linux o Solaris. El tema del casting es de constante discusion y sufre modificaciones entre versiones.
Saludos
En línea

SKalextric

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: ¿Fallo de casting?
« Respuesta #4 en: 15 Octubre 2008, 19:21 pm »

Hombre ya lo que queda es el compilador, pero es que tengo la misma version en ambos casos. Total mientras alguno me vaya voy servido. Gracias a todos.


Modifico y dejo de dar por culo: Lo he arreglao me faltaba un paquete  :-[ . Gracias a los dos :P
« Última modificación: 15 Octubre 2008, 20:15 pm por SKalextric » En línea

sapito169


Desconectado Desconectado

Mensajes: 629



Ver Perfil
Re: ¿Fallo de casting?
« Respuesta #5 en: 16 Octubre 2008, 06:22 am »

cunado creas una variable integer
Integer a;
esa variable integer deve recivir un intger no un int

en las ultimas versiones d java la 6 una clase puede ser igualda a un tipo primitivo sin ningun proble te lo castea automatico

En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con casting
Programación C/C++
Caster 7 3,024 Último mensaje 19 Junio 2013, 18:19 pm
por Caster
Detenidos los dos autores de un fraude telefónico relacionado con el casting ...
Noticias
wolfbcn 0 1,274 Último mensaje 30 Julio 2014, 13:43 pm
por wolfbcn
Casting de arrays
Java
4dr14n31t0r 1 1,442 Último mensaje 20 Noviembre 2015, 02:57 am
por 0xFer
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines