Vetor global

6 respostas
A

Para chegarmos a uma solução:

Em uma classe eu declaro como GLOBAL um vetor novo. Quando eu utilizo um método, ele atribui um novo valor para esse vetor (gambiarra). :shock:

Acontece que se esse método precisar de um espaço maior obviamente vai lançar a excessão “ArrayIndexOutOfBoundsException”.

O certo eu acredito que seria na hora que eu utilizar o método, ele criasse um vetor la dentro e passasse como argumento esse vetor novo para o lugar da classe que eu precisasse. Daí tenho umas dúvidas quanto a isso:

1 - Existe como declarar uma variável global(vista por todo o resto da classe) dentro de um método?

2 - Como eu faço isso de uma maneira correta(seguindo métodos recomendados da “boa programação”)

3 - Se não como fazer uma gambiarra?

Agradeço desde já o pessoal que se interessar em discutir esse tópico!

ps: não sei se encaixei esse post no tópico correto(java avançado) :roll:

6 Respostas

T

Não use vetores, use ArrayList, porque o ArrayList pode ser expandido. Um array normal (aqueles com [ ] ) é difícil de lidar.

A

Ummm massa… mas akele Vector não é da pra ser expandido também assim como o arrayList? Porque na verdade eu gosto de usar o Vector para lista de objetos… Costume =/

T

Não use Vector, exceto para manter código antigo. Também evite usar arrays se você precisa expandi-los.

A

Hmmm valeu cara obrigado pelas dicas!!
mas a respeito do modo que eu estou usando, é meio gambiarra certo? O lance de atribuir o valor de um método pra uma variável global… né?

Acontece que se esse arrayList precisasse ser usado por vários outros métodos da classe, como eu solucionaria isso? Só a gambiarra mesmo?

C

Eh cara, use um ArrayList e desfrute do método add()!
Faça seu método retornar o ArrayList e chame-o no local correto.
Você pode sim declarar uma referencia ao seu ArrayList como uma referência de instância de classe (o que vc está chamando de global).
Veja bem qual o escopo que sua referência precisa ter (private,public,…) e faça o encapsulamento correto.
Se puder mande o fonte para o pessoal dar opiniões mais completas
:wink:
Abraço!

A

Deu certo com arrayList cara… eu só dou um clear() antes de atribuir a nova lista pra ele hehehehehehe se não ele ia incrementando os resultados…

Valeu pessoal!
Abraçao pra todos!

Criado 15 de setembro de 2008
Ultima resposta 15 de set. de 2008
Respostas 6
Participantes 3