java基本类型的对象类型在集合的判断

今天在修改程序的时候,发现一个小细节的问题,对此进行了总结下:

一个简单的例子如下:

ArrayList<Integer> list=new ArrayList<Integer>();

Long id=10006L;

list.add(10006);

System.out.println(list.contains(id));

--------------------

运行后,打印是false。

之前想当然认为,java会自己转换类型进行比较,但是实际的运行情况确不是这样的,

不管是Long还是long都不能得到true的情况,

必须定义成int、Integer类型或进行类型转换处理才行。

你可能感兴趣的:(java,list,Integer)