Como obter o mesmo efeito do length (array)

3 respostas
wbsouza

Tenho uma duvida que talvez seja tola, mas eu não conseguí reproduzir.

Gostaria de saber como fazer para conseguir algo que existe em um array (variavel membro “length”), ou seja uma variável publica (acho que é final), mas que tem um valor que não é inicializado na declaração (acredito eu), pois o tamanho do array é definido depois da alocação do array.

Se eu tentar fazer isto eu não consigo, o compilador vai chiar.
Mas como conseguiram fazer isto ???

[]s, Welington B. Souza

3 Respostas

cv1

Uma variável final só se torna MESMO final quando o primeiro valor é atribuído a ela. Nada te impede de fazer o seguinte:

public class Foo {

  public final int length;

  public Foo(int length) {
    this.length = length;
  }

}

Cappicci? :)

wbsouza

Agora entendí pq não conseguí, é que a inicialização só funciona se for no constructor.

valeus :wink:

maxguzenski

exato, as constantes devem ser inicilizadas antes do final do construtor.

Criado 9 de julho de 2003
Ultima resposta 10 de jul. de 2003
Respostas 3
Participantes 3