java: 不兼容的类型: 无法推断java.util.ArrayList<>的类型参数 报错?

新手上路,请多包涵

java类文件 好像是listDish什么的有问题?
代码如下

package cn.tx.demo;
import java.lang.reflect.Array;
import java.util.ArrayList;
//点餐main
public class DishApp {
    static list<Dish> dishlist = new ArrayList<>();
    public static void main (String[] args){
        initDish();
        System.out.println(dishlist);
    }
        public static void initDish(){
            Dish dish = new Dish(1,"香辣肉丝",29.0);
            Dishlist.add(dish);
            Dish dish2 = new Dish(2,"炖王八",59.0);
            Dishlist.add(dish2);
            Dish dish3 = new Dish(3,"家常凉餐",21.0);
            Dishlist.add(dish3);
            //存放菜品
            dishlist.add(new Dish(4,"地三鲜",24.0));
            dishlist.add(new Dish(5,"油焖大虾",55.0));
        }

}
package cn.tx.demo;

//

public class Dish {
    //编号
    int id;
    //柴品名称
    String name;
    //价格
    double price;


//生成构造方法
    public Dish(int id,String name,double price) {
        this.id = id;
        this.name = name;
        this.price = price;

    }
}

报这个

java: 不兼容的类型: 无法推断java.util.ArrayList<>的类型参数
    原因: 不存在类型变量E的实例, 以使java.util.ArrayList<E>与cn.tx.demo.list<cn.tx.demo.Dish>一致

我不太会题问大哥们理解理解

阅读 3.9k
2 个回答

就你提供的代码,好多大小写不统一,
list<Dish> 是不是应该是List<Dist>??
还有你定义了static list<Dish> dishlist = new ArrayList<>();

这里是dishlist是小写的,后面代码中多次出现了Dishlist

我把这些修正以后,是可以编译通过的

本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题