`
awdxzc
  • 浏览: 335027 次
  • 性别: 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)方法。

分享到:
评论

相关推荐

    python处理csv中的空值方法

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

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

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

    探讨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中的空值,...

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

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

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

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

    matlab 空值预处理

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

    SQL Server中的空值问题.pdf

    SQL Server 中的空值问题是一个非常重要且复杂的主题。 空值的存在可以导致数据处理和查询结果的不确定性。因此,了解空值的语义、关系模型和三值逻辑在 SQL Server 中的应用非常重要。 空值的语义 空值可以分为三...

    空值处理 分箱 (1).ipynb

    空值处理 分箱 (1).ipynb

    c# 日期控件 扩展 空值

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

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

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

    窗口刷新父窗口然后关闭

    描述中提到的“NULL”没有提供具体信息,但我们可以假设这是在讨论一个空值处理或者无特定上下文的情况。在编程中,NULL或null经常用来表示变量未初始化或对象不存在,这可能与代码中某些条件判断或异常处理有关。 ...

    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()`来执行命令,从而将空值插入...

Global site tag (gtag.js) - Google Analytics