setInt(int,Integer)为什么与 setInt(int,int)不同呢?

来源:百度知道 编辑:UC知道 时间:2024/06/23 04:12:35
method setInt(int, java.lang.Integer) not found in interface java.sql.PreparedStatement

郁闷

Integer是int的封装类,里面有很多进行处理的静态方法
Integer是对象而int不是,内存的分配位置也不一样
也就是说Integer i == null可以
但是int i == null就不可以

int是一种基本数据类型,而Integer是相应于int的类类型,称为对象包装。
实现这种对象包装的目的主要是因为类能够提供必要的方法,用于实现基本数据类型的数值与可打印字符串之间的转换,以及一些其他的实用程序方法;
另外,有些数据结构库类只能操作对象,而不支持基本数据类型的变量,包装类提供一种便利的方式,能够把基本数据类型转换成等价的对象,从而可以利用数据结构库类进行处理

int是一个值,也叫整数类型
INGER是一个类

所以在类INTER会有很多的方法及属性,但INT没有

说白了,简单一点,int 是基本数据库类型,不是对象,Integer是对象;对象是有属性和方法的类的实例。
在程序运行时,基本数据类型保存在栈中,而对象实际是保存在堆中(栈中只保存其引用)。