关系数据库中的NULL值的概念和Java中null的值的概念相似,前者任何类型都可以为null,但是在Java中,基本数据类型不能为null。当要读取一个数据库域赋值给一个基本类型的时候(例如resultSetgetInt(1)),可能会造成问题。这样的例子已经让JDBC规范的制订者开始研究如何解决。
当一个值通过如getInt、getLong、getFloat这样的getXxx方法从数据库中得到后,开发者可以调用wasNull()方法来找出其值是否为null。如果wasNull返回true,那么可以让开发者为基本类型选择使用合适的null值。GetXxx方法获得的值与JDBC的驱动紧密相关。
例如,在某个数据库驱动中,它返回0,另一个也许返回那一列的缺省值,也许还有一个返回驱动在那一列读取的最后一个值。
所以当你准备读取数据库中的NULL值的时候,要小心缺省值,你也许需要以下面的习惯编码:
一般你输入的null(会显示为黑色)其实在程序代码中等同于
“null”
意思就是一个字符串,值为“null”;
而默认的灰色null,其实是表示哪里什么都没有是“空的”
如果是字符串就代表字符串=null
先说答案,是C,然后解释下
一、null是代表不确定的对象
Java中,null是一个关键字,用来标识一个不确定的对象。因此可以将null赋给引用类型变量,但不可以将null赋给基本类型变量。
比如:int a = null;是错误的。Ojbect o = null是正确的。
Java中,变量的适用都遵循一个原则,先定义,并且初始化后,才可以使用。我们不能int a后,不给a指定值,就去打印a的值。这条对对于引用类型变量也是适用的。
有时候,我们定义一个引用类型变量,在刚开始的时候,无法给出一个确定的值,但是不指定值,程序可能会在try语句块中初始化值。这时候,我们下面使用变量的时候就会报错。这时候,可以先给变量指定一个null值,问题就解决了。例如:
Connection conn = null;
try {
conn = DriverManagergetConnection("url", "user", "password");
} catch (SQLException e) {
eprintStackTrace();
}
String catalog = conngetCatalog();
如果刚开始的时候不指定conn = null,则最后一句就会报错。
二、null本身不是对象,也不是Objcet的实例
null本身虽然能代表一个不确定的对象,但就null本身来说,它不是对象,也不知道什么类型,也不是javalangObject的实例。
可以做一个简单的例子:
//null是对象吗 属于Object类型吗
if (null instanceof javalangObject) {
Systemoutprintln("null属于javalangObject类型");
} else {
Systemoutprintln("null不属于javalangObject类型");
}
结果会输出:null不属于javalangObject类型
以上就是关于学会如何处理数据库中的null全部的内容,包括:学会如何处理数据库中的null、mysql数据库中的默认“无”和“null”,有什么区别呢、NULL是指() A、0 B、空格 C、未知的值或无任何值 D、空字符串等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)