Java Android ArrayList方法不适用于参数

Java Android ArrayList方法不适用于参数,java,android,arraylist,Java,Android,Arraylist,在我解析XML的方法中,出现了两个错误,我对Android还很陌生,很难理解它们的意思,甚至谷歌也没有多少有用的解决方案 线路 animals = new ArrayList(); 正在显示-类型安全性:类型ArrayList的表达式需要未经检查的转换才能符合ArrayList 线路呢 printAnimals(animals); 正在显示-类型AnimalList中的方法printAnimals()不适用于参数(ArrayList) 以下是供参考的完整方法 private void par

在我解析XML的方法中,出现了两个错误,我对Android还很陌生,很难理解它们的意思,甚至谷歌也没有多少有用的解决方案

线路

animals = new ArrayList();
正在显示-类型安全性:类型ArrayList的表达式需要未经检查的转换才能符合ArrayList

线路呢

printAnimals(animals);
正在显示-类型AnimalList中的方法printAnimals()不适用于参数(ArrayList)

以下是供参考的完整方法

private void parseXML(XmlPullParser parser) throws XmlPullParserException,IOException
{
    ArrayList<Animal> animals = null;
    int eventType = parser.getEventType();
    Animal currentAnimal = null;

    while (eventType != XmlPullParser.END_DOCUMENT)
    {
        String name = null;
        switch (eventType)
        {
            case XmlPullParser.START_DOCUMENT:
                animals = new ArrayList();
                break;
            case XmlPullParser.START_TAG:
                name = parser.getName();
                if (name == "animal")
                {
                    currentAnimal = new Animal();
                } 
                else if (currentAnimal != null)
                {
                    if (name == "specificLocation")
                    {
                        currentAnimal.specificLocation = parser.nextText();
                    } 
                    else if (name == "name"){
                        currentAnimal.name = parser.nextText();
                    } 
                    else if (name == "location")
                    {
                        currentAnimal.location= parser.nextText();
                    }  
                    else if (name == "image")
                    {
                        currentAnimal.image= parser.nextText();
                    }  
                    else if (name == "animalInfo")
                    {
                        currentAnimal.animalInfo= parser.nextText();
                    }  
                    else if (name == "todaysFeed")
                    {
                        currentAnimal.todaysFeed= parser.nextText();
                    }  
                }
                break;
            case XmlPullParser.END_TAG:
                name = parser.getName();
                if (name.equalsIgnoreCase("animal") && currentAnimal != null){
                    animals.add(currentAnimal);
                } 
        }
        eventType = parser.next();
    }

    printAnimals(animals);
}
private void parseXML(XmlPullParser-parser)抛出xmlpullparsexception,IOException
{
ArrayList=null;
int eventType=parser.getEventType();
Animal currentAnimal=null;
while(eventType!=XmlPullParser.END_文档)
{
字符串名称=null;
开关(事件类型)
{
案例XmlPullParser.START_文档:
动物=新的ArrayList();
打破
case XmlPullParser.START_标记:
name=parser.getName();
如果(名称==“动物”)
{
currentAnimal=新动物();
} 
else if(currentAnimal!=null)
{
如果(名称=“特定位置”)
{
currentAnimal.specificLocation=parser.nextText();
} 
else if(名称=“名称”){
currentAnimal.name=parser.nextText();
} 
else if(名称=“位置”)
{
currentAnimal.location=parser.nextText();
}  
else if(name==“image”)
{
currentAnimal.image=parser.nextText();
}  
else if(name==“animalInfo”)
{
currentAnimal.animalInfo=parser.nextText();
}  
else if(name==“todaysFeed”)
{
currentAnimal.todaysFeed=parser.nextText();
}  
}
打破
case XmlPullParser.END_标记:
name=parser.getName();
if(name.equalsIgnoreCase(“动物”)和¤tAnimal!=null){
动物。添加(当前动物);
} 
}
eventType=parser.next();
}
动物(动物);
}

谢谢你的帮助

您是否尝试过使用类型声明ArrayList

animals = new ArrayList<Animal>();
animals=newarraylist();

试着这样做:animals=new ArrayList();动物不能解析为变量?我应该将它设置为哪个变量?私有还是公共?我没有设置ArrayList animals=new ArrayList();但是对于动物,我仍然得到同样的错误=new ArrayList();