INetAdress

3 respostas
M

como devo iniciar o construtor dessa classe ?

3 Respostas

ViniGodoy

Essa classe não tem construtor.

Você pode usar a InetSocketAddress, que é filha dela.

InetAddress addr = new InetSocketAddress(hostname, port);

Ou você pode usar um dos métodos estáticos da classe:

InetAddress addr = InetAddress.getByName(hostName);
InetAddress addr = InetAddress.getByAddress(new byte[] {127,0,0,1});

Tome cuidado que os métodos que envolvem um hostname geralmente tentam verificar se esse host é válido e isso pode deixar o seu código lento.

M

ok, mas qual o pq dessa classe não ter construtor ?

ViniGodoy

Isso é uma boa pergunta. Creio que seja porque a classe serve para representar um INetAddress genérico, tanto de IP normal, quanto IPv6.

Por causa disso, desconfio que haja mais de uma implementação filha. Então, uma fábrica estática poderia decidir qual a implementação adequada e retornar para você.

Criado 4 de janeiro de 2007
Ultima resposta 6 de jan. de 2007
Respostas 3
Participantes 2