String 空字符串与空字符串的用法

String 空字符串与空字符串的用法,string,null,is-empty,isnullorempty,String,Null,Is Empty,Isnullorempty,我最近一直在想空字符串和空字符串的用法 我知道这些值意味着什么,但我想知道什么时候应该使用它们?这与精确的编程语言或方法无关 在大多数情况下,您希望同时防止这两种情况。 不同之处在于,当您尝试使用不存在或您或程序未实例化的变量时,大多数情况下都会返回空值。 空字符串通常是清空已经存在的变量的人工方法 作为一般准则,无论发生什么情况,我都避免使用null null不是一个对象,它不能做任何事情,也不能期望从中得到任何东西。它甚至会以一种相当模糊的NullPointerException形式泄漏。您

我最近一直在想空字符串和空字符串的用法


我知道这些值意味着什么,但我想知道什么时候应该使用它们?这与精确的编程语言或方法无关

在大多数情况下,您希望同时防止这两种情况。 不同之处在于,当您尝试使用不存在或您或程序未实例化的变量时,大多数情况下都会返回空值。
空字符串通常是清空已经存在的变量的人工方法

作为一般准则,无论发生什么情况,我都避免使用
null

null
不是一个对象,它不能做任何事情,也不能期望从中得到任何东西。它甚至会以一种相当模糊的
NullPointerException
形式泄漏。您无法访问
null
中的任何字段或任何方法,如果尝试访问,将导致出现上述情况

您可以避免将其用于:

  • 图案
  • 使用比空的
    NullPointerException更有用的消息引发
    异常
  • 将类设计为具有字段
    private final
    ,从而通过设计避免空值

每种编程语言都是不同的,并且有不同的(有时类似)行为,但很简单:用null初始化的字符串表示根本没有字符串,空字符串表示有字符串,但它是空的,如果其他人正在使用您的API,则您可能决定不接受null或empty,因此您必须检查两者。