Cara, se você estiver usando a mesma variável de referência é lógico que o Array antigo será “apagado”. Na realidade ele não é apagado ele simplesmente perde a referência.
Explica melhor seu problema…
shoko
você fala que oq tá escrito no arquivo é apagado né?
ñ me parece que a resolução seja do append pois parece-me que a fazer append ele vai criar um outro arraylist com o mesmo nome noutra linha do documento binário, acho eu…
obrigado pela atenção
pimenta
Tiago, como pode perceber duas pessoas ficaram em dúvida em relação a qual seu real problema.
Se você explicar melhor talvez achemos uma resolução.
T
Tiago_Correia
Qual é o construtor para um ArrayList?
Existe construtor para um ArrayList?
Tenho o seguinte problema:“variable pacientes might not have been initialized”, isto tem a ver com o construtor, ñ é?
tenho a classe accoes e um dos métodos da classe acções é registarpaciente. o objectivo desse método é guardar registos de pacientes. os dados de cada paciente são guardados num arraylist, sendo aqui que surge o principal problema. no codigo como tenho em cima eu crio o arraylist paciente dentro do método registarpaciente, e cada vez que invoco o método registarpacientes ele escreve um novo registo no arraylist e apaga o anterior, pois parece-me que tou a criar um novo Arraylist pacientes cada vez que invoco o método. Por isso parece-me que a solução para o meu problema é fazer o arrayList como um objecto da classe accoes. o Problema é que eu não estou a conseguir criar o construtor para o objecto arraylist paciente.
Espero bem que tenha sido mais expressivo
obrigado pela atenção
T
Tiago_Correia
o códico para o construtor não deveria ser qualquer coisa como:????
ArrayList<ADT> pacientes;
public accoes(){
this.pacientes=new ArrayList<ADT>();
}
pimenta
Cara, to com a séria desconfiança de que você está confundindo conceitos.
Só pra tirar essa minha dúvida, o que você entende por contrutor?
T
Tiago_Correia
Antes de mais, obrigado a todos pelas vossas respostas.
Neste momento já consigo guardar varios registos e consigo ler todos os registos que registei no arrayList. contudo neste momento surguiu um novo problema que não consigo resolver.
Quero criar duas funções, uma de procura por nome de paciente e outra de procura por numero de paciente.
já criei as duas funções: axo k basta só mostrar procurar por nome:
staticvoidmostraPaciente(){ADTa;Stringficheiro="HL7.dat";intC=numeroPacientes();geral.limparEcra();System.out.print("\nIndique o nome do Paciente: ");Stringnome=geral.lerLinha();try{FileInputStreamfis=newFileInputStream(ficheiro);ObjectInputStreamois=newObjectInputStream(fis);ArrayListf=(ArrayList)ois.readObject();for(inti=0;i<C;i++){ADTp1=(ADT)f.get(i);if(a.PAC.nome.equals(nome)){apresentardados(p1);}}ois.close();}catch(Exceptione){e.printStackTrace();}}
ao compilar o programa surge-me o seguinte erro: variable a might not have been initialized e aponta para a.PAC.nome.
este é um objecto da classe PAC que faz parte da superclasse ADT.