Java 6 - Erro na conversao boolean ou float ou ... para Objeto

6 respostas
T

Ola pessoal!!!

Tenho um codigo q desenvolvi no Java 5 e roda normal do seguinte jeito:

ResultSet rsDados;

Object objIncluir1 = new Object();
Object objIncluir2 = new Object();
Object objIncluir3 = new Object();

objIncluir1 = rsDados.getBoolean(1)
objIncluir2 = rsDados.getInt(2);
objIncluir3 = rsDados.getFloat(3);

Bom rodei no Eclipse com java 5 instalado, qdo tentei rodar no Eclipse com Java 6 instalado ele naum deixa, no Eclipse diz que naum consegue converte de Boolean pra Object, mais como isso, o boolean naum eh extendido de um objeto?

Isso eh algum erro no eclipse ou no Java 6 ou eu to fazendo algo de errao??

Vlw pela ajuda!!

6 Respostas

Calvin

boolean != Boolean

J

Mas no Java 5.0 existe o Autoboxing que permite que isso seja aceito. Por exemplo:

public class Teste { public static void main(String[] args) { Object b = false; System.out.println(b); System.exit(0); } }

O código acima roda normalmente no Java 5.0. No caso do Java 6.0 eu não posso nem comentar pq eu não tive tempo de mexer ainda, mas eu acredito que Autoboxing continue. Pelo menos eu espero que sim :lol: !!

Flw aew e t+!!

ViniGodoy

O Java 6 tem autoboxing sim, como o 5.

Só por desencargo de consciência…

Entre no eclipse e clique com o botão direito no seu projeto. No menu entre em:
Properties-&gtJava Compiler

Verifique se o campo Compiler Compliance Level está definido em 6.0.

Se não estiver habilitado, faça a mesma coisa no menu Window-&gtPreferences-&gtJava-&gtCompiler

Numa dessas o eclipse está configurado para rodar em "modo de compatibilidade" com código do Java 4… não custa conferir, não é? :wink:

davidbuzatto

Funcionou normal aqui.

public class Teste {

    public static void main( String[] args ) {
    	
    	Object o1 = new Integer( 1 );
    	Object o2 = false;
    	Object o3 = 1;
    	Object o4 = retornaInt();
    	Object o5 = retornaDouble();
    	
    }
    
    public static int retornaInt() {
    	return 1;
    }
    
    public static Double retornaDouble() {
    	return new Double( 4 );
    }
    
}
Calvin

Vivendo e aprendendo…
Nem imaginava que isso existia!

Desculpe-me tgbf pela ignorancia.

T

ViniGodoy:
O Java 6 tem autoboxing sim, como o 5.

Só por desencargo de consciência…

Entre no eclipse e clique com o botão direito no seu projeto. No menu entre em:
Properties-&gtJava Compiler

Verifique se o campo Compiler Compliance Level está definido em 6.0.

Se não estiver habilitado, faça a mesma coisa no menu Window-&gtPreferences-&gtJava-&gtCompiler

Numa dessas o eclipse está configurado para rodar em “modo de compatibilidade” com código do Java 4… não custa conferir, não é? ;)

Essa foi perfeita MUITO OBRIGADO!!!

Foi soh mudar isso dai que resolveu meu problema!!!

Vlw

Criado 10 de janeiro de 2007
Ultima resposta 10 de jan. de 2007
Respostas 6
Participantes 5