Questão de classes wrapper

pois bem, qual será a saída do código abaixo? e pq? … lembrando, nada de compilar! :slight_smile:

[code]class FooClass {

static String m(long i) { return "long"; }
static String m(Long i) { return "Long"; }
static String m(double i) { return "double"; }
static String m(Double i) { return "Double"; }
static String m(String i) { return "String"; }

public static void main ( String[] args )
{
System.out.print(
m( Long.parseLong( "1" ) )
);
}

}[/code]

o resultado sera “long”, pois Long.parseLong() retorna uma long (do tipo primitivo)…

afff… mas ta muito fácil assim! :tosco:

O retorno do método public static parseLong da classe wrapper Long tem como retono um tipo primitivo long, então o método sobreposto com a assinatura static String m(long i) sera elegido, logo a saída será long;

bah esse foi facil mesmo…

e o mauro ali deu uma explicaçao bunita neh?! hahahaha que coisa =) vc serve pra escrever livros kra =) fala bunito, parece o tanenbaum =)

cya!