空和空的区别

目录:

Anonim

主要区别 null 和 empty 之间是 null 用于指代空,而空用于指代长度为零的唯一字符串。

一个字符串是指一个字符序列。例如,“programming”是一个字符串。 Java 编程语言支持字符串,它们被视为对象。字符串类是不可变的。因此,创建对象后,将无法更改。有时,字符串可以为 null 或为空。当 String 变量被赋值为 null 时,表示该变量实际上并未引用堆中的任何内存位置。然而,当一个字符串变量被赋值为一个空字符串时,它表明引用变量正在引用一个长度为零的字符串的内存位置。

空、空、字符串

什么是空

Null 表示什么都没有。请注意以下两个声明。

图 1:程序将空字符串

s1 是一个字符串变量。它被分配为空。因此,JVM 不会分配任何内存,因此变量 s1 不会指向任何东西 语句 String s1 = null;也等价于字符串s1;打印字符串s1的长度时,会给出空指针异常。这是因为 s1 不引用实际的字符串来计算长度。

什么是空

Empty 是指没有长度的字符串。参考下面的代码。

图 2:带有空字符串的程序

s2 是一个字符串变量。它被分配了一个空字符串,即“”。因此,JVM 将为空字符串分配内存空间。 s2 将引用该空字符串。打印字符串s2的长度时,会打印0。那是因为s1指向的是一个String,但它没有任何字符来计算长度。

空和空的区别

定义

null 是一个术语,表示一个对象在堆中不引用任何内容,而 empty 是一个术语,表示一个对象正在引用堆中长度为零的唯一字符串。

句法

字符串 s1= 空;或字符串 s1;表示 s1 指的是空或空。字符串 s2="";表示 s2 指的是一个空字符串。

长度

打印空字符串的长度将给出空指针异常。打印空字符串的长度将给出零。

结论

字符串指的是一个字符序列。字符串有时可以为 null 或为空。 null 和 empty 之间的区别在于,null 用于指代无,而 empty 用于指代长度为零的唯一字符串。

参考:

教程点。 “Java 字符串。” Www.tutorialspoint.com,Tutorials Point,2018 年 8 月 12 日,可在此处获取。

空和空的区别