`
awdxzc
  • 浏览: 335647 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

一个空值的处理

    博客分类:
  • J2SE
阅读更多
Object obj = null;  
System.out.println(String.valueOf(obj));  
System.out.println(String.valueOf(null)); 


两个结果不一样
第二句话报空指针错误


原因是什么?

System.out.println(String.valueOf(obj));
调用的是 String java.lang.String.valueOf(Object obj)

System.out.println(String.valueOf(null));
调用的是 String java.lang.String.valueOf(char[] data)

两者使用的重载方法不一样的

Java的重载过程分两个阶段。
第一阶段选取所有可获得并且可应用的方法或构造器。看一下String.valueOf()源码,有以下几个重载方法可供选择:

String valueOf(Object obj)  
String valueOf(char data[])  
String valueOf(boolean b)  
String valueOf(char c)   
...  



因为基本类型不能赋于null,所以可供选择的方法只有valueOf(char data[])和 valueOf(Object obj)。

第二阶段在第一阶段选取的方法或构造器中选取最精确的一个,如果一个方法或构造器可以接受传递给另一个方法或构造器的任何参数,那么我们就说第一个方法比第二个方法缺乏精确性。方法valueOf(Object obj)可以接收任何传给valueOf(char data[])的参数,我们说方法valueOf(Object obj)相对方法valueOf(char data[])缺乏精确性,所以在重载时会选择方法valueOf(char data[])。

如果将调用代码修改如下:
value = String.valueOf((Object)null); 


重载时将会选择valueOf(Object obj)方法。

分享到:
评论

相关推荐

    实验七SQL的空值和空集处理.doc

    在进行 GROUP BY 分组时,如果某列存在空值,那么这些空值将被视为一个独立的组,从而影响分组结果。 7. 结合分组,使用集合函数求每个同学的平均分、总的选课记录、最高成绩、最低成绩和总成绩 在进行分组时,可以...

    python处理csv中的空值方法

    这个过程中,函数首先会遍历CSV文件中的每一行,然后对每个需要分词的字段进行处理。在这个部分,文章利用了`jieba`库来对文本进行分词,分词后的结果会被写入新的CSV文件中。这个过程中,文章使用了`pandas`库来...

    探讨SQL Server数据库中空值处理技巧

    探讨 SQL Server 数据库中空值处理技巧 在 SQL Server 中处理空值是数据库系统中非常重要的一方面。空值的存在可能会导致数据不完整、计算错误、外键处理问题等。因此,了解如何正确地处理空值是非常必要的。本文将...

    Python 空值处理方案 Python源码

    Python 空值处理方案 Python源码Python 空值处理方案 Python源码Python 空值处理方案 Python源码Python 空值处理方案 Python源码Python 空值处理方案 Python源码Python 空值处理方案 Python源码Python 空值处理方案 ...

    数据处理Pandas-空值处理方案-Python实例源码.zip

    本资料包“数据处理Pandas-空值处理方案-Python实例源码.zip”聚焦于Pandas如何处理数据集中常见的空值(NaN)问题。在进行任何深入的数据分析之前,对数据集进行预处理是非常关键的步骤,而处理缺失值是预处理中的...

    ios-IOS崩溃异常的处理,防止数组越界,字典空值处理.zip

    标题提到的“iOS崩溃异常的处理,防止数组越界,字典空值处理”是一个关键的话题,它涉及到Swift或Objective-C编程中的常见错误处理策略。在这个场景下,我们主要关注的是如何避免因数组越界访问和字典空值引用导致...

    oracle处理空值的方法

    如果没有匹配,则返回NULL或最后一个result(如果提供了default result)。DECODE类似于多分支的IF语句,但在性能上可能优于CASE语句,特别是在简单的情况下。 **示例代码:** ```sql HR@XE> select decode...

    数据库中重复值和空值的处理

     在实现查询操作时,如果查询的选择列表中包含一个表的主键,那么每个查询结果中的记录将是的,如果主键不包含在查询结果中,可能出现重复记录.使用Distinct关键字可以消除重复记录。  Distinct关键字可从SQL ...

    Python代码源码-实操案例-框架案例-空值处理方案….zip

    在Python编程语言中,空值处理是至关重要的一个环节,特别是在数据分析、数据清洗以及软件开发过程中。本资源包“Python代码源码-实操案例-框架案例-空值处理方案….zip”显然聚焦于如何有效地处理Python中的空值,...

    SQL Server中的空值问题.pdf

    只有通过恰当的空值处理策略和方法,才能保证数据库的数据质量和查询的准确性。空值问题虽然复杂,但通过规范的处理和周到的设计,可以有效地减少其带来的不确定性。数据库管理员和开发人员应该对空值持谨慎态度,...

    电信设备-对表单进行排查空值处理的方法及装置.zip

    "对表单进行排查空值处理的方法及装置"是一个专门针对这一需求的技术方案,其主要目的是确保表单数据的无误和有效利用。以下是对该主题的详细阐述: 一、表单空值问题 在电信系统中,表单数据是收集、存储和分析...

    SQL Server数据库中处理空值时常见问题

    计数问题:在 SQL Server 中,COUNT 函数对包含空值的一个列进行计数时,空值会从计算中消除。但假如 COUNT 函数使用一个星号,它就计算所有行,而不管是否存在空值。如果希望 COUNT 函数对给定列的所有行(包括空值...

    matlab 空值预处理

    对于数值型数据,MATLAB提供了多种空值处理方法。一种常见的方法是使用`isnan()`函数来检测数组中的空值,并用其他值进行替换。例如,可以使用`replaceNaNs = @(x) x(isnan(x)) = replacementValue;`这个匿名函数,...

    空值处理 分箱 (1).ipynb

    空值处理 分箱 (1).ipynb

    c# 日期控件 扩展 空值

    本项目中,我们探讨的是一个自定义的日期控件,它具有扩展功能,支持空值,同时结合了下拉式树形控件的设计。这种控件的实现能够提供更灵活的用户交互体验,特别是在需要用户选择日期但又允许不输入的情况下。 首先...

    Transact-SQL中的对空值的处理函数COALESCE.pdf

    Transact-SQL中的对空值的处理函数COALESCE COALESCE 函数是 Transact-SQL 中的一个重要...COALESCE 函数是一个非常有用的函数,它可以简化代码,提高代码的可读性和维护性,并且可以提供非常好的效果在处理空值时。

    SQL Server 空值处理策略[推荐]

    在SQL Server中,空值(NULL)处理是一个重要的议题,因为它们在数据处理和分析时可能会引起不期望的结果。本文主要关注三个关键方面:计数空值、使用空表值以及外键处理。 首先,我们来看空值在计数中的处理。在...

    空值和缺失值的处理和重复值的处理.pptx

    `isnull()`函数是一个非常有用的工具,它能够检查数据中是否存在空值或缺失值,返回一个布尔型的Series,其中True表示存在缺失值,False表示没有。例如,`pandas.isnull(obj)`会遍历对象`obj`的每个元素,返回一个与...

    c#往sqlserver2000数据库中插入时间型数据的空值

    然后,我们添加了一个`SqlParameter`,名为`@DateTimeValue`,类型设置为`SqlDbType.DateTime`,并将其值设置为`DBNull.Value`,这代表SQL中的`NULL`。最后,我们执行`ExecuteNonQuery()`来执行命令,从而将空值插入...

    数据清洗--DataFrame中的空值处理方法

    在数据分析中,数据清洗是一个至关重要的步骤,其中处理空值是数据清洗中的一项基本任务。在Python编程语言中,使用Pandas库能够方便地对数据进行操作。Pandas是专门针对数据分析任务而构建的一个强大的数据分析工具...

Global site tag (gtag.js) - Google Analytics