**已关闭。**此问题为not reproducible or was caused by typos。目前不接受回答。
这个问题是由错字或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
上个月关门了。
Improve this question的
正如标题所说,我试图向ArrayList添加一个类对象示例,但显然它没有添加任何内容。
我尝试使用以下语法将对象添加到ArrayList:
public void adicionarMedicaoAux(Medicao m){this.medicoes.add(m); }
字符串
这就是“toString()":
@Override
public String toString() {
return "Ficha de Utente\n------------------\n" +
"Utente: " + utente + " | " +
"Familiar(res) do utente: " + familiarUtente + " | " +
"Medições: " + medicoes + " | " +
"Prescrições: " + prescricoes + " | " +
"Exames: " + exames + " | " +
"Consultas: " + consultas;
}
型
然后在此处使用此方法:
public void AdicionarMedicao(String num_utente, LocalDate data, double peso, double altura, int tensao_arterial, int saturacao_oxigenio, int imc) throws RemoteException, UtenteNaoExiste {
c1+=1;
Medicao m = new Medicao(data, peso, altura, tensao_arterial, saturacao_oxigenio, imc);
medicoes.put(String.valueOf(c1),m);
FichaUtente fichautente = new FichaUtente(getUtenteEspecifico(num_utente));
fichautente.adicionarMedicaoAux(m);
}
型
最后在客户端中调用它:
System.out.println("Introduza o ID de utente seguido das medições efetuadas (ID utente, peso,altura,tensão arterial, saturação de oxigénio): ");
String medicaonova = scanner.nextLine();
String[] medicaopartes = medicaonova.split(",", -1);
LocalDate data = LocalDate.now();
Double peso = Double.parseDouble(medicaopartes[1]);
Double altura = Double.parseDouble(medicaopartes[2]);
Integer tens_art = Integer.parseInt(medicaopartes[3]);
Integer sat_ox = Integer.parseInt(medicaopartes[4]);
Double imc_d = peso / (altura*altura);
Integer imc = imc_d.intValue();
mi.AdicionarMedicao(medicaopartes[0],data,peso,altura,tens_art,sat_ox,imc);
型
以下是最终输出:
001 - Ficha de Utente
------------------
Utente: Utente: Nome: Luís | Nif: 241637341 | CC: 14422517 | Data de nascimento: 2002-06-18 | Número do utente: 001 | Telefone: 910410666 | Telefone familiar: 914504925 | E-mail: [email protected] | Morada: Rua do Nascente n38 Gualtar Braga | Familiar(res) do utente: [] | Medições: [] | Prescrições: [] | Exames: [] | Consultas: []
型
正如您所见,“Mediçes”部分显示的是一个空白的ArrayList,而不是添加的内容。
这里有什么问题吗?
1条答案
按热度按时间yi0zb3m41#
字符串
此代码:
fichautente
*然后把它直接扔进垃圾桶
只有局部变量引用新创建的对象,当方法结束时,局部变量将进入垃圾堆。