从方法中获取错误的值

时间:2013-12-25 21:59:06

标签: java servlets syntax casting

您好,我遇到了课程问题 这是班级

public class BeerExpert {
public List getBrands(String color){
    List brands = new ArrayList();
    if(color.equals("amber")){
        brands.add("Jack Amber");
        brands.add("Red Moose");
    }
    else {
        brands.add("Jail Pale Ale");
        brands.add("Gout Stout");
    }
    return(brands);
}

}

我正在调用这个类

BeerExpert be = new BeerExpert();
List result = be.getBrands(c);

我收到此错误类型不匹配:无法从java.util.List转换为com.sun.xml.internal.bind.v2.schemagen.xmlschema.List

如果getBrands方法返回List并且我的结果也是List

,我不明白错误在哪里

1 个答案:

答案 0 :(得分:1)

两个List类是不同的。检查他们的包裹名称
您的方法getBrands会返回java.util.List,而另一方则会返回com.sun.xml.internal.bind.v2.schemagen.xmlschema.List class是List
所以你得到的这个例外并没有出乎意料
可能是您在调用代码中导入了错误的List类 换句话说,这里List result = be.getBrands(c);
    java.util.List
不应该是{{1}}。