gpt4 book ai didi

java - 如何从 csv 文件中删除特定条目?

转载 作者:行者123 更新时间:2023-12-01 10:34:30 25 4
gpt4 key购买 nike

我有一个 Java 程序,用于将地址保存和删除到 csv 文件中。现在我想从 csv 文件中删除特定地址,因此我为此编写了一个函数就像

public String deleteAddress(String firstName,String LastName,String msg) throws IOException{
Iterator<Address> it = addressBook.iterator();
n=msg;
while(it.hasNext()){
Address newObj = it.next();
if((newObj.getFirstName().equalsIgnoreCase(firstName) == true) && (newObj.getLastName().equalsIgnoreCase(LastName) == true)){
File newfile = new File("address.csv");
BufferedWriter bw = new BufferedWriter(new FileWriter(newfile));
it.remove();
n="found and removed";
}
}


for(Address newObj : addressBook){
AddressBookSave.saveAddressBookToFile(newObj);
}
return n;
}
}

但它无法正常工作。请有人帮我解决这个问题。

最佳答案

请引用SO的链接,Boolean.TRUE == myBoolean vs. Boolean.TRUE.equals(myBoolean)

此处假设 addressBook 已正确填充数据。在源代码中,您不应使用 == true 检查它,因为 equalsIgnoreCase() 方法已经返回 truefalse 没有别的。

更改为

if((newObj.getFirstName().equalsIgnoreCase(firstName)) && (newObj.getLastName().equalsIgnoreCase(LastName)))

另外,为了避免 NullPointerException,最好始终将您已知的值放在第一个位置,如下所示,

if((firstName.equalsIgnoreCase(newObj.getFirstName())) && (LastName.equalsIgnoreCase(newObj.getLastName())))

关于java - 如何从 csv 文件中删除特定条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34859451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com