首页 > 解决方案 > 空返回,从 csv 文件中获取特定数据

问题描述

我正在尝试从 csv 文件中获取特定数据。在这种情况下,我使用 ID,它是文件中的第一个字符串。

动物详情.txt

0,2,AmercianShorthair,100,AmercianShorthair,AmercianShorthair,y,y,900.0,Ann,
3,4,GermanShepherd,100,GermanShepherd,GermanShepherd,no,yes,600.0,Dave,
6,3,Poodle,100,Poodle,Poodle,yes,no,300.0,Dianna,
456,4,Azawakh,50,Unknown,Azawakh,no,no,300.0,April,
25041019042018,1,Vizsla,50,Vizsla,TreeingTennesseeBrindle,no,yes,500.0,Lex,
3271,1,Beagle,50,Beagle,Unknown,no,no,200.0,Blanton,
48331827032019,33,sheperd,50,50,50,no,yes,300.0,Mike,

主应用

public class AppTest {

    public static void main(String[] ages) {

        //Load file 
        AnimalManager aMgr = new AnimalManager();
        aMgr.loadFromFile("AnimalDetails.txt");     

        //Test DELETE By Animal ID
        try {
        Animals anim = aMgr.getAnimalById("0");//Insert animal ID here
        aMgr.deleteAnimal(anim);
        } catch (IllegalArgumentException exc) {
          System.out.println(exc);
        }
    }
}

经理

//Delete animal
public void deleteAnimal (Animals a) {
    if (a == null)
        throw new IllegalArgumentException("Animal argument is null");

    animalList.remove(a);
}

//Get animal by ID
public Animals getAnimalById(String ID) {
    for (Animals a : this.animalList) {
        if (a.getID().equals(ID))
            return null;     
    }
    return null;
}

当我在主应用程序中插入动物 ID 时,它会返回 null 而不是成功删除消息。这里可能是什么问题?

输出: java.lang.IllegalArgumentException:动物参数为空

标签: java

解决方案


看起来条件语句应该为 getanimalbyID 返回 ID 而不是 null :)


推荐阅读