`
jilen
  • 浏览: 97660 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

关于java里的null

阅读更多



null 很难定义是什么?

首先它肯定不是基本类型,因为

int a = null;

  这样的表达式是不能编译通过的。

虽然

Object foo = null;

可以轻松通过编译,但不能证明null是某个引用类型的实例

因为我们找不到任何对象类型,即使基本类型,也可以得到类型,甚至void也是。

但jdk中找不到任何类型可以说明null是什么。


null有个很明显的特征,可以赋值给任何类型的引用,看起来好像,null可以是一个任意引用类型的实例

但jdk中不存在一个类型是任意引用类型的子类型。


null之所以创造出来是为了让引用有个默认值,基本类型,可以默认为0,false,等,引用类型呢?只能创造出这么一个怪异的null,作为引用的初始值,就像0。
对象初始状态是无,这个状态被表达为null。

所以其实null是一个无奈产物。但我想它并不是表达某个事物是否存在,

那才是guava的optional设计的初衷

 

分享到:
评论

相关推荐

    深入Java关键字null

    ### 深入Java关键字null #### 一、null代表不确定的对象 在Java语言中,`null`是一个非常重要的关键字,用于表示一个未确定的对象引用。这意味着你可以将`null`赋给任何引用类型变量,而不能将其赋给基本类型变量...

    Java中有关Null的9件事

    Java中有关Null的9件事,里面对null有了详细的介绍。

    Java中String判断值为null或空及地址是否相等的问题

    本文主要讨论了如何正确判断Java中的String对象是否为null、空值("")以及它们的地址是否相等。在处理字符串时,了解这些概念对于避免程序出错至关重要。 首先,我们需要区分`null`和空字符串`""`。`null`表示变量...

    java处理返回对象中字段为null的情况

    java处理返回对象中字段为null的情况,返回为字符串

    ActionScript Number(NaN) —> java(null) NaN —> null

    总之,理解ActionScript和Java之间关于NaN和null的差异至关重要。开发者必须谨慎处理这种转换,确保数据的准确性和一致性。同时,了解如何利用像FlexBlazeds这样的工具来定制数据序列化过程,也是解决此类问题的关键...

    java Boxing Null Pointer 源码

    java Boxing Null Pointer 源码

    Java中有关Null的9件事Java开发Java经验技巧

    以下是从标题和描述中提取的关于Java中`null`的9个关键知识点,以及每个知识点的详细解释: 1. **null的定义**: `null`是Java中的一个关键字,它不是一个对象,而是表示一个引用变量没有指向任何实例。例如,当你...

    Java中对null进行强制类型转换的方法

    Java中对null进行强制类型转换的方法 在 Java 中,对 null 进行强制类型转换是一个常见的操作,但是在实际开发中,是否会抛出异常呢?今天,我们将通过实例代码来介绍 Java 中对 null 进行强制类型转换的方法。 ...

    Java String转换时为null的解决方法

    "Java String转换时为null的解决方法" 在Java开发中,我们经常会遇到从集合类List、Map中取出数据转换为String的问题,但如果处理不好,经常会遇到空指针异常java.lang.NullPointerException。因此,了解Java ...

    java中的null的基本含义

    1.null是Java中的关键字。它是区分大小写的,如果把null大写成Null或者NULL,会自动报错。 2.null ==> 0x0 表示内存中编号为0的地址 该地址受到系统保护,任何程序读取,写入0x0地址,系统直接杀死程序 3.一般用于在...

    如何将数据库中的NUll写入到数据库中去

    以下是关于如何将NULL写入数据库的一些详细说明。 1. SQL插入语句: 在SQL中,我们可以直接在INSERT语句中使用NULL值。例如,如果我们有一个名为`users`的表,其中包含`id`, `name`, 和 `email`三列,我们想插入一...

    Java中关于Null的9个解释(Java Null详解)

    Java中的`null`是一个至关重要的概念,它在编程中扮演着特殊的角色,尤其是在Java这种强类型的语言中。`null`最初被设计用来表示一个缺失的值,比如未定义的用户、资源或者其他对象。然而,它也带来了许多问题,尤其...

    spring mvc拦截器过滤json中的null值

    在Spring MVC框架中,我们经常需要处理JSON数据,这些数据可能包含null值。在某些情况下,为了保持数据的整洁和避免后端处理null值时出现异常,我们需要在数据传输前过滤掉这些null值。本教程将详细介绍如何使用...

    java 空指针异常(NullPointerException)

    在Java中,null不是一个对象,而是表示没有对象的引用状态。 ### 2. 常见原因 - **未初始化的变量**:声明对象引用但未分配实际的对象实例。 - **对象已经被销毁**:对象引用曾经指向过一个对象,但在执行过程中,...

    java程序员面试题

    Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。 最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而...

    oracle_10g提示java.lang.Exception_Exception_in_sending_Request__null解决方案

    ### Oracle 10g 提示 java.lang.Exception: Exception in sending Request :: null 解决方案 在使用Oracle 10g的过程中,部分用户可能会遇到一个特定的问题:在登录企业管理器(Enterprise Manager, EM)时,系统会...

    sonar-JAVA检查规则指南.docx

    在 Java 中,使用“@NonNull”注解的字段、参数和返回值假定为非 null 值。在使用前通常不进行 null 检查。如果将这些值设置为 null 或未在构造函数中设置此类字段,可能会在运行时导致 NullPointerExceptions。 5....

    java 判断对象是否为空

    首先,Java中对象的“空”通常指的是`null`值,即对象引用没有指向任何实例。在Java中,你可以直接使用`==`运算符来比较一个对象引用是否为`null`。例如: ```java Object obj = getSomeObject(); if (obj == null)...

    Java用optional取代null.pdf

    在Java编程中,`null`是一个非常特殊且常见的值,它表示对象的引用不指向任何实际的对象实例。然而,`null`的使用往往伴随着潜在的问题,最著名的就是`NullPointerException`,这是许多开发者在编程时遇到的常见运行...

    Java集合类详解

    NULL 博文链接:https://vbo-zhang.iteye.com/blog/695498

Global site tag (gtag.js) - Google Analytics