请问一下在java中的List<int> list=new List<int>();这条语句的两个int处会报错,请问为什么?

本文解答了Java中List泛型使用的基本问题,指出List作为接口不能直接实例化,并解释了为何基本数据类型int不能直接用于泛型参数,正确的做法是使用其对应的包装类Integer。

请问一下在java中的List<int> list=new List<int>();这条语句的两个int处会报错,请问为什么?

  java
专业回答
 团队    ituser308
2012-04-23 09:53
两处错误:
第一:List是接口,需要实现类ArrayList或者LinkedList,不能new List;
第二:int是基本数据类型,只能用Integer
正解:List<Integer> list = new ArrayList<Integer>()

为您推荐:

5条回答

2012-04-23 09:49 bd9006  | 十七级  最快回答
int -> Integer 

new ArrayList<Integer>()
评论  |  1  0
2012-04-23 09:50 让不让我注册  | 八级
int 是基本数据类型,不是对象
你用 Integer 试试
评论  |  2  0
2012-04-23 09:50 陈静19901029  | 四级
int 改为 integer 集合中标放的是对象
评论  |  1  0
2012-04-23 09:51 nympha  | 五级
应该用int的封装类Integer
评论  |  3  0
2012-04-23 10:04 lizhen_xia  | 三级
List泛型里面只能用对象类型,int是基本数据类型,只能用Integer;
List是接口,需要实现类ArrayList或者LinkedList,不能new List;

正解:List<Integer> list = new ArrayList<Integer>()
<think>我们正在理用户关于Java代码片段的问题。用户询问两个语句的含义:1.Integertmp=0;2.List<String>employeeList1=newArrayList<>();我们将分别解释这两个语句,包括它们的类型、初始化和用途。首先,第一个语句Integertmp=0;-Integer是Java中的包装类,用于将基本数据类型int包装成对象。-tmp是变量名。-=0;表示初始化这个变量为0。所以,这行代码声明了一个Integer类型的变量tmp,并初始化为0。它用于存储整数值,但作为对象使用(例如,在需要对象的地方,如集合中)。第二个语句List<String>employeeList1=newArrayList<>();-List<String>是一个接口,表示元素类型为String的列表。-employeeList1是变量名。-newArrayList<>();创建了一个ArrayList实例,它是List接口的一个实现。这行代码创建了一个可变的字符串列表(初始为空)。ArrayList是基于数组实现的列表,支持动态扩容。接下来,按照要求,我们需要生成相关问题。相关问题可以围绕这两个语句的用途、区别、以及相关知识点展开。生成的相关问题:1.Integer和intJava中有什么区别?2.在Java中,List<String>和ArrayList<String>之间有什么关系?3.如何向employeeList1中添加和删除元素?4.为什么有时候使用包装类(如Integer)而不是基本数据类型(如int)?5.Java中的泛型(如<String>)有什么作用?注意:回答中不需要添加引用标识,因为用户提供的引用内容中并没有实际引用来源,且问题不涉及外部引用。现在,我们组织回答:</think>### Java代码片段解析 #### 1. `Integer tmp = 0;` - **作用**:声明一个名为`tmp`的`Integer`类型变量,并初始化为`0`。 - **关键点**: - `Integer`是`int`基本类型的**包装类**(对象形式),属于`java.lang`包。 - 初始值`0`会被自动装箱(Autoboxing)转换为`Integer`对象。 - 常用于需要对象而非基本类型的场景(如存入集合`List<Integer>`)。 - **示例场景**: ```java List<Integer> numbers = new ArrayList<>(); numbers.add(tmp); // 可直接作为对象使用 ``` #### 2. `List<String> employeeList1 = new ArrayList<>();` - **作用**:创建名为`employeeList1`的字符串列表,初始化为空`ArrayList`。 - **关键点**: - `List<String>`:声明一个**泛型接口**,限定列表元素为`String`类型。 - `new ArrayList<>()`:实例化`ArrayList`类(`List`接口的实现类),使用**菱形语法**(`<>`)自动推断泛型类型。 - 提供动态数组功能:支持增删查改,自动扩容。 - **典型操作**: ```java employeeList1.add("张三"); // 添加元素 employeeList1.remove(0); // 删除索引0的元素 ``` --- ### 对比说明 | 代码片段 | 数据类型 | 用途 | 内存分配 | |-----------------------------|--------------|-------------------------------|------------| | `Integer tmp = 0;` | 包装类对象 | 存储整数值(对象形式) | 堆内存 | | `List<String> ...` | 泛型集合接口 | 动态存储字符串集合 | 堆内存 | --- ### 相关问题 1. **`Integer`和`int`在Java中有什么区别?何时该用包装类?** 2. **`ArrayList<>()`中的菱形语法`<>`是什么作用?省略泛型类型是否安全?** 3. **除了`ArrayList`,Java还有哪些`List`接口的实现类?各自适用什么场景?** 4. **为什么声明变量时用`List<String>`而非`ArrayList<String>`?接口与实现类如何选择?** 5. **如何避免`Integer`自动装箱/拆箱导致的性能问题?**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值