NetBeans中二维ArrayList语法报错,咨询与Eclipse的使用差异
问题解答:NetBeans与Eclipse的Java语法差异疑问
首先明确:IDE不会影响Java的语法规则,所有正规Java IDE都严格遵循Java语言规范,你遇到的问题根本不是IDE差异导致的,而是代码本身的语法错误。
你写的代码:
ArrayList<ArrayList<String>> groceryList = new ArrayList<String>();
这里的核心问题是左右两边的泛型类型不匹配:左边声明的是ArrayList<ArrayList<String>>(存储ArrayList的集合),但右边实例化的是ArrayList<String>(存储String的集合),类型完全不兼容,任何符合Java规范的IDE都会报错。
推测你可能看错了视频里的代码,正确的写法有两种:
- 完整指定泛型:
ArrayList<ArrayList<String>> groceryList = new ArrayList<ArrayList<String>>(); - Java 7及以上支持的菱形语法(编译器会自动推断泛型类型):
ArrayList<ArrayList<String>> groceryList = new ArrayList<>();
另外可以检查下NetBeans的Java版本设置,确保项目使用的是Java 5及以上版本(泛型从Java 5开始引入),不过这不是导致当前错误的原因——当前问题完全是代码的泛型不匹配问题,和IDE无关。
内容的提问来源于stack exchange,提问作者Morel
相关产品推荐
相关产品推荐

